It is very difficult to incorporate functionality into a product. It’s really, really, freaking difficult to remove features from a product (or put features in an ‘end-of-life’ or EOL state). You worry about whether a customer will use it when you add a feature. When you delete a feature, you think about the fact that it is still used by one user.
In TapTalk.io, removing a product is not just deleting code but there are a lot of factors to consider.
Removing a function often has the responsibility of mismatched beliefs, and even though we rationally realize this is not so, it should be much simpler than creating code to delete code.
Unfortunately, it is not simply “deleting code” to delete a feature, and this is a myth that product managers need to eradicate for themselves as well as for their stakeholders.
In reality, developing a new feature and all the work that entails is extremely similar. It needs as much preparation, effort, and hard work to remove a feature as to create a feature, and often it needs even more from you than adding the same feature to the product.
As for different tasks, we should not be worried about *adding* features and *removing* features. We may only be able to perform one task at a time logistically, but adding and removing are two sides of the same coin, and whether you do one or the other, you should still be thinking about the interactions. In other words, you should think about unnecessary pre-existing features when introducing a new feature and whether, as part of the launch, there needs to be a migration plan. If you delete a feature, the customers should still be able to use other features to get their job done, or you should have a reason as to why that particular feature no longer fits into the overall strategy of your product.
Removing or EOLing a function is equivalent to adding a function since the value is *adding*. Few common examples of parts of the item we want to deprecate and the value it brings:
- In a simpler user interface, eliminating a little-used function decreases the configuration burden and adds value
- Removing a bug-ridden v1 feature released too early (and never iterated) adds value to a higher-quality, more reliable product.
- It makes it easier for the technical team to create new features unencumbered and adds value in quicker time-to-market of New Stuff by eliminating legacy support of old frameworks, databases, operating systems, you-name-it
As product managers in TapTalk.io, in terms of adding characteristics, we don’t really think about tasks; we think about tasks in terms of adding value. It’s important for us to note that there are more ways to add value to a product, and that might often mean that part of the codebase that was last touched 10 years ago was removed.
If so much value is added by eliminating or deprecating functions, why don’t we make it happen more often?
The practice of product management within software organizations continues to evolve. More and more individuals not within the product organization realize that product management is not all about writing specifications and building functionality, and recognize that it can take quite enough (or more) time to discover, prepare, and allow as the build phases.
Here are a few challenges that product managers in TapTalk.io and others may face when a feature is removed:
- A minority of clients (sometimes just one!) rely heavily on the feature.
- Other parts of the item are heavily dependent on the function and removing it may break something else.
- It sometimes takes a significant amount of time and effort to remove a feature.
Things to keep in mind
If you are considering a feature removal, here are a few things to note:
- Make sure there are both qualitative and quantitative reasons for the feature removal. Stop planning.
- You will be asked a lot of questions throughout the process, so keep a FAQ document that your organization can refer to when talking about removal. Please update as you get more questions.
- Find your friend EOL! This type of project is always easier with support.
- Stay on the EOL roadmap even if no one is looking. This way, you can focus on your next project and continue to follow up on activities that are easy to ignore when you run out of time.
6 steps when removing a product or features
- The very first step: notifying any external or third-party services (like buyers, shopping feeds, or fulfillment services)
- Notify your clients… if you want to…
- Replace with newer, more relevant ones any recommendations or links to the product
- Hide (but don’t delete) the product page when inventory is gone,
- Set up a redirection URL
- In case it is needed again, archive the product data somewhere