A fair question to ask when it comes to deprecation is, "Why can't we just keep the old features or functionalities around?". If we keep old features and functionality in the product, and have them co-exist with their new sibling features or functionality, we'd find that everyone loses.
There is a significant cost to maintaining multiple versions of the same feature or functionality. When referring to "cost", we are not referring to monetary cost. Keeping multiple versions around affects our ability to provide value to as many customers as we possibly can. We use the term, called "debt", to describe the impact on us and our customers. The debt is too high to maintain multiple versions of features and functionality.
Let's take a look at how this affects Zendesk and its customers.
Product development debt
When new features and functionality are built, it is usually done so in a completely different way than the original feature or functionality. As a result the burden of maintenance doubles. The bugs that occur in the original and the new will be very different, requiring different methods of fixing. The familiarity of engineering with the original feature might also suffer, as their focus will be on the new feature.
Maintaining an old version of a feature can also have significant impact on future development efficiency for the new feature. If Engineering teams are unable to focus on just the new version, development might be blocked or seriously impacted for the new feature.
Similar to the Engineering debt for maintaining multiple versions of a feature, Support also has to do double duty to provide support and documentation for multiple versions of the same feature. This can lead to added back-and-forth with customers to clarify which versions of which features they have.
Support has the added burden of training staff to support multiple versions of the same feature of functionality. They also have to set up multiple accounts and test environments to make sure they have access to old versions of features and functionality.
Account management debt
Conversations with customers for account managers can also be difficult when a customer has multiple versions of the same feature or functionality.
Account managers always have to establish which version of the feature or functionality the customer is using, which is not always obvious. And account managers might not always have knowledge of or access to old features, which makes it difficult to help customers manage their account and settings.
Perhaps the most costly is the customer debt. In most cases you, the customer, end up losing the most when there are multiple versions of a feature. As soon as a new version of a feature or functionality is available, Zendesk typically stops investing resources in the old version, except for required maintenance. All the effort is going to the new feature or functionality and making it valuable to the customer.
It might also be an issue if you, the customer, don't understand there is a new version. If you are using an old feature, you might be frustrated that Zendesk is not improving that feature, and not getting what you need. When multiple versions are available, you might not even realize the new version you really need is just a button click away, if you migrate to the newer version.
Time and cost debt
While money isn't the only problem with keeping old features and functionality around, it is still a problem. New features and functionality sometimes require the purchase of new infrastructure hardware or even software licenses. However the old infrastructure and software has remain in place to support customers using the old feature or functionality. And that can cost a lot of money.
And, as the old saying goes, "Time is money," and it's no different here. The amount of time we spend in supporting and maintaining old features or functionality costs money. In this case, it's money spent that doesn't add value to the product for customers in terms of new and improved features and functionality.