85% of New Features FAIL & Feature Cost Inflation
85% of new features fail โ in the best companies.
Most of us are wrong, most of the time.
It's just the nature of the beast.
This makes what I have to say next much worse.
Another rule, which I discovered when managing a feature factory:
๐ก Each feature you add to a product increases the cost of every subsequent feature.
Yes, each newer feature will take more people, longer to build. ๐ฑ
That feature you added just to close a deal? โ It made all future features more expensive, so I doubt you charged enough for it!
You've heard of these 2 types of software development costs:
1. Direct costs (people x time x salaries)
2. Opportunity costs โ saying yes to one thing means saying no to other possibilities.
Above, we just met a third cost, and it's hidden:
3. Complexity cost
Complexity cost is NOT another name for technical debt! That's the fourth type of cost, also hidden.
This article goes into detail on tech debt:
As you increase the scope of a product, and the number of features that interact with each other, it becomes more expensive to make any further change. Any change affects more parts of an increasingly large and more complex system. There are more considerations that need to be taken into account when designing, implementing, testing, troubleshooting and deploying the feature.
Operating and supporting a larger, more complex product costs more, too.
Therefore:
Be sure about the business value each new feature is supposed to bring.
When an experimental feature doesn't deliver results, remove it.
In fact, remove all features that don't contribute value.
This is much easier to say than it is to do.
Because of the 85% rule, we don't know anything in advance.
Therefore, we need to create a culture in which we routinely experiment, measure and cut.
To do it right, each experiment should have these two phases:
Phase 1: Experiment
Define or select a problem to solve.
Design a feature that you hope will solve it.
Define how you will measure it, and the success criteria.
Implement in a quick-and-dirty way if necessary.
Phase 2: Clean Up
Failure: remove the feature or tweak it.
Success: pay back the tech debt incurred in phase 1. If you don't pay down your tech debt, your costs will spiral out of control.