The Puppy Dog Dilemma: Evaluating feature requests
07 Apr 2023 - Frans Vanhaelewijck
Every new feature in your software can seem like an adorable puppy dog, but it’s essential to consider the long-term costs and efforts required to maintain it. In this blog post, we’ll discuss how to make a cost-benefit analysis to decide whether to add a new feature to your software.
Benefits of Adding a New Feature
When evaluating the benefits of adding a new feature, ask yourself these questions:
- Will this feature attract new customers?
- Will it help retain existing customers?
- Will it encourage customers to upgrade to a higher version?
- Can you market this feature in campaigns, newsletters, or customer outreach?
Considering the Full Lifetime Cost
Don’t underestimate the cost of a new feature. It’s not just about the time spent coding, but also the costs associated with testing, documentation, training, and compatibility with future releases. Additionally, once a feature is implemented, it’s difficult to remove, even if it’s not widely used.
Incomplete Features and Backlogs
Features that are only partially implemented can cause difficulties for developers and users alike. They can lead to confusion, frustration, and a growing backlog of incomplete work. Make sure you have a plan to address these issues if you choose to add a new feature.
Exceptions to the Rule
There are some cases where adding a new feature may be particularly beneficial, such as:
- Reducing support work
- Improving software and data safety
- Addressing issues on the “will it come back to haunt us” list, which are potential sources of crashes, data loss, or urgent support tickets.
Return on Investment (ROI)
Consider the payback period for your investment in the new feature. If the cost-benefit is positive but the payback period is long, it might not be worth the investment.
Considering the User
Finally, think about who will be using the new feature. Will it make life easier for decision-makers, or will it mainly benefit users who don’t impact the overall success of your software? While it’s tempting to make software user-friendly, focusing only on decision-makers can lead to a poor user experience for the majority of your users.
Deciding on new feature requests involves a thorough cost-benefit analysis, considering the full lifetime cost, ROI, and user impact. By carefully evaluating each aspect, you can make informed decisions about which features will truly add value to your software and your customers.
Print this picture
To remind ourselves of the importance of evaluating feature requests, I printed a picture of a cute puppy and hung it on the wall. Each time someone proposes a new feature, I point to the ‘puppy dilemma’ picture, ensuring we consider all the potential costs and benefits before making a decision. This visual reminder helps our team stay focused on making thoughtful and informed choices about the features we add to our software.