As a software platform we develop many new features together with our clients, along their needs and requirements. Other features are developed based on our own expectations, that means it is expected that this will add value for clients and users alike.
The hard news is that the direct and indirect cost caused by the implementation of any new feature are in almost all cases highly underestimated. Often you’ll end up paying in the long run. While many features end up going rarely used or in some cases even totally unused.
With this post we want give you an idea about the list of costs, so the next time you consider a new feature, it´s very useful to keep this in mind and ask: Is it still worth it?
Spoiler: It turns out that engineering costs are but a small part of the equation. There is much more..
- Opportunity costs across all disciplines: like every organisation we have limited resources, so when we do this feature, we cant implement another (and assume there is always a huge backlog!)
- Costs to understand, define and discuss requirements in detail before the actual implementation can start. This easily can pile up few days especially if external services are involved
- Direct cost to implement the feature: often this is a team of at least 3-4 persons from software development, UX, design to product and account management
- Initial cost to deliver the feature: deploying new features results in additional work (or costs) when it comes to processing, test cases, storage or server space that is needed or monitoring that needs to be updated
- Cost to implement incremental improvements: everything that is shipped will need to improvement and fine tuning, directly after its launched but also in the long run; this causes additional work for product managers, but also engineers etc.
- Cost to train people internally to communicate or sell the feature: someone needs to handle communication towards clients and understand the new thing in detail! Communication material and various channels need to be updated or completely redrafted
- Cost to support and maintain the feature: You expect us to fully maintain the feature, to guarantee that its working and to answer any questions about it in the future. Even the smallest features add complexity to the tech stack.
- Cost to add the new feature to the analytics dashboard: Often it is important to add something to the analytics board, so that users can improve the way something is used. Tracking is complex, so adding new things to it, create short and long term costs.
- Cost of slower engineering, caused by increased system complexity and maintenance, cause a more complex codebase means that everything in the future becomes slightly more difficult for developers.
- Coordination costs across all teams including all presentations, materials, meetings and the overall discussions that are indirectly affected
- Cost to document (and to maintain it) and train customers on new feature: FAQs need to be updated, various communication channels need to be updated, clients have questions about new functionalities etc. (some more, some less..)
- Cost of maintaining system usability as system broadens: additional costs are not necessarily directly linked to a feature itself, but also to a growing system in general.
This post was inspired by this post by John Cutler, who perfectly sumarizes: “One of the fundamental challenges of product development is understanding the true cost of releasing a new feature. The benefits feel concrete. Shipping feels great. Talking costs is a downer.”
Don´t get us wrong: we love to develop and rollout new features! But we also think that awareness of the costs and side effects is required to put the focus on the stuff that adds true value.
So: consider this expanded list of costs the next time you think about tacking on a new feature. Is it still worth it? 😎