The new year means a fresh start. With that in mind, I urge product managers, designers, engineers and developers – anyone who helps develop a product, really – to think critically about the features they are designing. Have you thought about what features you’ll say goodbye to in January? Because killing features now means better business velocity for the rest of 2019.
As a product and its codebase grows, it is not uncommon to see an increase in technical debt. This debt may be because usage of a feature has scaled beyond its original design (you can’t expect a Toyota Corolla to reach 300 km/h no matter how many turbochargers you add) or because a feature, and subsequently it’s code, is used in more ways than originally intended (like a lawn mower turned into a snow blower – it works, but it shouldn’t). Often, technical debt accumulates because old or infrequently-used features aren’t retired.
There is a cost of removing these old features, of course, but removing features is significantly cheaper in the long-run than maintaining relic code. When you support outdated or unused features you’re also allowing security, performance and backwards compatibility issues to arise.
I remember reading an article about Evernote that claimed 90% of their features (and they have thousands of them) are used by less than 1% of their users. Eventually, the company’s velocity grounded to a halt because every simple feature update required numerous discussions across the company before the change could be implemented.
So make no mistake, it is desirable and even essential to purge old product features. Here’s how in three steps:
- First identify a feature that you think should be retired. Then measure the usage of that feature. The data won’t lie. If usage is low, proceed to step two.
- The numbers may not tell you the whole story. Talk to some of the old-timers who have more context than you and understand why the feature existed in the first place. In many cases, you’ll be surprised by the reasons.
- Decide to purge, modernize or maintain the status quo. Make a decision and then execute your action plan.
Years ago, I was part of a team that dedicated six months to find bugs and purge unused features. On the surface, it seemed we were spending an inordinate amount of time and effort ‘looking in the rear-view mirror’ and not working on things that took the product forward. In reality though, those six months pushed the product much, much further ahead. By the end of it the product ran faster, the UI was cleaner because many unused features were gone, and annoying glitches were finally addressed. The app went from 1-star to 5-star in a few months without adding anything new.
It’s a good reminder: Less is more. Simple is good.