The Puppy Dog Dilemma: Evaluating feature requests

07 Apr 2023 - Frans Vanhaelewijck

CutePuppy

Introduction

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:

  1. Will this feature attract new customers?
  2. Will it help retain existing customers?
  3. Will it encourage customers to upgrade to a higher version?
  4. 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:

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.

Conclusion

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.

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.



frans@vanhaelewijck.com