The picture says it all. We all start creating products with good intentions with all smart people in the room. As the time goes by, the minimalist ideas and frictionless design ideas would somehow get cornered and the product starts bloating. The bloating could be because of two reasons, we are improving the existing features or introducing new features. While it might be the same man month effort to introduce or improve a feature, the former has a ripple effect on the product.
So, why is introducing NEW features a problem at all? Let’s imagine that the rate of new feature introduction is more than that of improving the exciting features. In time, the product has several NEW features that sales can talk about but the biggest concern from customers would be that the features don’t work together. By definition, when the rate of new feature introduction is higher, product designers and engineers are less likely to think through all the scenarios and how the other modules or use cases work together. The result is twofold with confused sales engineers and frustrated customers. Combine this with the how companies practice agile methodologies and frequent releases, this problem soon becomes quite complex.
This is not to say, that the individual features and functions are not useful. They are all master pieces on their own, but just does not fit together or even if they fit they are less than ideal to work with.
Let us see some of the reason why this would happen. As silly as they sound, it is true that we give way to our behavioral comfort zone and yield to external pressures.
- Introducing new features are EASY
- Introducing new features makes you feel GOOD
- Dealing with existing features is relatively COMPLEX
- Stakeholders pressurize
- Customer demands
Not only that introducing more New features has the side effect on the internal and external organizations.
- Educating Pre-sales, Sales and Consulting organizations on the NEW features is costly and time taking.
- With the frequent releases (>=2 releases an year), marketing team has to catch-up with all NEW and have to create all new material to create the awareness.
- Multiple New features without thinking through leads to dead code and duplicate code across modules.
- Customer have a hard time catching up with all NEW features that you are releasing. In the enterprise scenario, user education and training is a pain.
- Dissatisfied and non-reference-able customers from the confused and frustrated user experience.
But how can we avoid getting into the NEW feature spiral? Answer below questions together with Dev, Sales, Marketing.
- Why do we need this NEW feature for this release?
- What is the (development + sales + marketing ) cost of this NEW feature ?
- Can we finish this NEW feature for this release? Can it be released partially?
- What is the interaction with other modules in the system? Can this interaction be achieved in this released?
- If we don’t do this NEW feature, are there any other current features that need to be improved?
- Does this NEW feature has the potential to generate revenue? Or is this a cool feature
Make no mistake, I am not suggesting to avoid new features but to weigh in the benefits carefully and understand the priorities. Sometimes new features may be cool but can’t be introduced at the expense of starving the existing features.
And the battle continues…
Cross posted on LinkedIn : https://www.linkedin.com/pulse/battle-between-improving-existing-vs-creating-new-madhuvarsu