Why Do You Build That Feature?

Photo by Yomex Owo on Unsplash

How often did it happen that you spent months designing and building a feature and then realize that you are not sure why you did it in the first place. Or that a client asked you to create something for them that turned out that there is no need for it? It is something that happens all the time in product development and is a big money sink for software companies.

More often than not, when I ask someone why do they want the feature, the answer I get is “I don’t know” or “the customer demanded/asked for it.” Things built without a clear understanding of why are things that you probably don’t want anyway.

What business outcome do you expect from the feature?

You must know the answer to this question before signing-off anything. Bloatware is not good software. Features must be carefully chosen, make sense, and maximize value to the customer. You probably understand the value your software provides to your customers. However, others within your company might not have a clear understanding. By asking this question, you can find out.

It should also make sense from the standpoint of your business as well – investing large sums of money into that process optimization that saves customer’s businesses $100 each week might make sense if you have hundreds of customers. Or if you expect an inflow of customers because of it. It does not make sense if you don’t expect that your business will improve.

You want to avoid building unnecessary features. Not only do they cost initially, but they cost to maintain and support. And if you get into a habit of cranking out features, the cost of adding valuable things will increase. Sometimes, it might be a good idea to do a google and remove some functionalities that do not reflect your value proposition anymore.

I will end with a question, one especially important to startups – Will you be stifling innovation through rigorous cost-benefit analysis?


Leave a comment

Your email address will not be published. Required fields are marked *