Posterous theme by Cory Watilo

Enterprise software and toxic feature obsession

I get bemused at times when I see people promising potential customers with features or sharing the product roadmap in the hopes that there might be some 'must have' solution that will entice the client.

It's something that is extremely common in the Enterprise software space. So, why if it's so common do I sound so surprised by that this?

It's crap

The first reason is really obvious. In fact it's so obvious it's a bit of an elephant in the room that people try to ignore. Your product isn't good enough. That's it. You need to keep on constantly promising clients features in order to make up for how crap your current offering is.

Years ago one of the many jobs I did to pay my way through uni was work as a waiter at a Whitbread owned franchise of the Marriot. While there were many things I disliked about my time there, the one thing that stuck in my mind was the constant reminder that the experience was the product. Whitbread run many franchises in the UK (Beefeater, Costa Coffee, Burger King etc). Sure some of these products might not appeal to your specific tastes and refinement, but an awful amount of work goes into selling 'the experience' that goes into the product, which ultimately creates demand.
It's this same principle that goes into so many products whether it's an iPhone or a fine meal at a my favourite brasserie  that keeps people coming back for more, or more succinctly engaged in the product enough to come back time and time again.

There is such a high correlation between feature driven development/sales and poor product experience that it's such an old and widely known problem. But yet people do it because it's easy to justify in simplistic vanity reports that you're getting things done. You're doing your job. You might even get a promotion. If the company doesn't run out of money first.

It's hard

And this finally leads me onto my second reason why I'm so shocked. 

Why would you sell a feature that hasn't yet been put into the hands of a real life customer, refined and validated? How do you know there's enough interest, engagement and revenue in that feature to cover cost of development and ultimately increases profit? Is short term revenue so important that it trumps long term profitability by new clients and loyal repeat customers?

There's an incredible amount of research, testing and validation of ideas. Getting out there, placing yourself in your customers shoes and being objective about how the product solves the needs of the customer in a way that also delights.
With this amount of work no wonder so many startups prefer to go with gut instinct or promise there delivering foolishly mis-aligned features such as 'quantum butt plugs'. In essence people are being lazy when they sell features.

Reading the Steve Jobs biography the other day reminded me of the above. When he returned to Apple he noticed that there was an incredible push for increasing revenue, whether from a huge product line-up to selling printer peripherals. 
Driving for revenue isn't a bad thing at all. However, the funny thing was that while a lot of this was all aimed at maximising revenue it negatively impacted profits to the point that a lot of the divisions were operating at a loss.

People weren't coming back to buy the products because the experience was so bad and Apple were in a death spiral of competition with the then PC market to match price and features.
So what did Steve do? He wiped clean entire products/devisions. Cancelled projects that although generated revenue, made no profit. 
Apple instead started concentrating on delivering products that not only solved client needs but delighted them, even if they didn't necessarily match up feature to feature of the competitors offerings. 

Banh Xeo

Banh_xeo

I think it's partially because of my heritage and the fact that I've lived/travelled quite extensively throughout south east asia that means that when I think of fast food my mind is always a lot farther from a Big Mac than it is to the yummy treats found in asia being cooked up on street stalls.

One of the easiest dishes to make is Viet Banh Xeo. A type of crispy yellow pancake (not to be confused with the more infamous British crispy pancake ) filled with bean sprouts, juicy prawns and pork.

For the batter I use:
  • 2 cups of water
  • 1 cup of coconut milk
  • 2 cups of rice flour
  • 1 chopped shallot
  • 2 chopped cloves of garlic
  • A few teaspoons of turmeric

And for the filling:
  • Cooked de-veined prawns
  • Belly of pork boiled in salt water for a few minutes and sliced thinly
  • Bean sprouts

There's no real secret to making the batter. Simply place the flour into a large bowl with the finely chopped shallots, garlic, turmeric and a pinch of salt. Then slowly start mixing the water and coconut milk in until you have a smooth mixture with no lumps. Cover with cling film and leave to one side for at least 30 minutes. I know a lot of people say you don't need to let the batter rest but trust me, by allowing it to sit for a few minutes allows the flavour from the other ingredients to permeate into the mixture while releasing some of the gluten in the flour.

Next we need to heat a shallow frying pan with a little bit of oil. I usually use sunflower but sometimes when I'm trying to be extra healthy I use coconut oil. When the oil starts to smoke put a ladle full of the batter into the pan while tilting the it slightly to make sure it's distributed evenly.

After minute of the batter cooking place some of the prawns, pork and a handful of bean sprouts just off center of the pancake. You'll need to cover the pan with a lid or another pan and keep the heat high but not too high. This has the effect of a) 'steaming' the bean sprouts to kill any germs while keeping the sprouts crisp and b) cook the top side of the pancake.
You should only need to keep the lid on for between 2 to 3 minutes before you can remove it and let the pancake crisp up a bit more. After a bit of practice you should be able to tell how crispy the underside of the pancake is by the aromatic smell emanating from the pan. Once cooked, carefully slide onto a plate while flipping the top of the pancake over the filling.

Finally serve with nuoc cham and some fried shallots. I make my own nuoc cham with garlic, limes, sugar, water and fish sauce but if you're a bit strapped for time then you can use a mixture of 7-Up, fish sauce and garlic instead which is what they use in some of the restaurants and tastes quite good albeit a little dubious.

Agile project metrics are pointless for most startups

I've often found the standard Agile metrics for project health to be either too optimistic to be applied to most startups or too easily gamed for various reasons.

Velocity
In the beginning it's very common for Agile teams to concentrate on velocity. But what is it really to the business? To anyone outside of engineering it's just a number. One which obviously the higher the better right?
To an engineer it's all too often an excuse to over estimate so as to keep team velocity from dropping and hence facing the wrath of 'the man'.

Burn downs
The only time I've ever seen a working burn down is in established companies that have a clearly defined product and market. In a startup however you're always learning. Yes, you should definitely have a clearly defined product road map but the nitty gritty details can often change week to week and even day to day.

For example if you've got the right analytics in place you could be constantly refining processes over multiple days such as sales funnels. Imagine what this would do to your pretty burn down chart?
Unless it was measured against higher level milestones you'd most probably see a 'burn up' chart.
In the worst case scenarios this can ultimately cause sub-optimal utilization of iterations as PM's become loathe to add stories to a sprint that has slack as it messes up their management reports.

What instead we should all be measuring - Business value
All startups should be thinking constantly about how much business value each department is delivering. How they're moving the company forward by increasing customer sign-up, reduce funnel drop outs and more ultimately increasing customer satisfaction.
By thinking about how we measure the impact of new features or refinements to the product we can not only calculate a more accurate monetary cost to software development  but more importantly gauge the true overall impact of technology in moving the business forward.