Building and developing a digital solution involves considerable costs. Often, the initial IT project estimations do not correspond with the final amount of money invested in creating your product.
Some costs are generated by poor management of software development – implementing new functionalities is part of that process. You may be surprised how important your decisions are, from the very early idea of a new feature to its implementation, and how much they affect the final cost of implementing new features of your app.
At the end of this article, you can find a free checklist pointing out some potential problems in your app development. It will show you areas where additional development costs may be generated.
Project IT reality
If you are a non-tech person, you are often not aware of the costs that can be generated when you implement a new feature in your product incorrectly. The process goes quite often like this: the product owner thinks about the new functionality, goes to the development team, and develop and implement it. It should never be like that. Implementing a functionality that will not answer your users’ problems is a waste of money. Sometimes it can cost a lot.
This way may allow you to achieve results like in the picture below, so it may even look nice at times, but it does not generate value for your clients, does not solve their problems and it is simply not worth wasting your money like that.
How much can it cost you?
Implementing a new functionality in the wrong way can cost you a lot – the chart below perfectly illustrates it. Depending on at what stage of the process of implementing the new functionality you make the wrong decision – these costs grow as work on the new functionality begins to be more advanced.
For example: if you make the wrong decision at the stage of thinking about designing new functionality for your application, it can cost you three to six times more. If you make it when creating your code, it could be 10 times more. If you do this during a testing phase, it will cost you between 15 and 40 times more. And if your new functionality is already implemented, it can be up to 1000 times more expensive. So it’s always better to do it right from the very beginning.
The later you discover that you have made a mistake at some point in the process, the higher the cost of fixing the error will be. If you are not a specialist, you may not even know what is included in the costs of the development process of new functionality for your application.
Why does it cost so much?
Even if you are only changing a part of the functionality, one little thing, you have to remember that this is not just changing a text box or replacing one screen with another. What are the costs behind each change?
Every change must be prepared first. So you have to prepare new mockups, new projects, new user stories, and new acceptance criteria. You have to consider all of these things when you are going to make changes to a functionality that is performed in production.
The time spent on implementation is the time that your development team must take to ensure that everything works as it should and does not affect the operation of other application functionalities.
Then imagine that your functionality is being tested with automated tests. Therefore, with even the slightest change, some of these tests need to be rewritten from scratch. So you need more time to generate more costs. The manual tests. If you do several test cases, someone has to review them, rewrite them, or change them. And it also takes time (and money).
4: Documentation update
The next is the time needed to update the documentation for users. If the feature works differently at some point, you need to update the documentation the way you guide users on how to use it, etc.
5: Bad feedback
Then the cost is called “negative feedback”: when users say something is not working as it should, a feature does not solve their problems, or meet their challenges. It surely will cost your employees time to fix.
6: Other costs?
Keep in mind that whenever you change one feature, other features in your product may be affected. This means that you can have regressions. Maybe you’ll be forced to change other functions as well because they are connected. Thus, the amount of potential work can be quite large.
How to do it right?
The most important question you are surely asking yourself right now is: How to implement functionalities in a way that will not generate huge additional costs? The answer is Product Discovery. It is an approach that allows you to define the real problems of your users and propose a functionality that will respond to these needs. Let’s see how it works.
1: Begin with the user’s problem
When you are going to develop a new feature in your product, it means there must be some need, some problem you want to answer for. The question is: are you sure that it’s your users’ real problem, or is it just your hypothesis? It’s always better to talk to users first. Make sure if they have a problem, ask them. And if they have it, are they willing to pay to fix the problem? And if users say “no” because they solve their problem differently, it’s probably not worth doing.
2: Have your business goal in mind
Another question: How will the implementation of the new functionality affect your business? Is this feature something that helps you focus on your target audience?
Or maybe it’s a request from a small percentage of users that you don’t focus on? Take it into consideration. Every problem can be solved in many ways.
3: The way I want to solve the problem
Does the way you want to solve the problem seem to be the best for your users, and for you? Is it cost-effective and can generate value?
4: Verification with users
Never skip this step! You should validate the solution with your users before implementing new functionality. There are tons of ways you can do it.
One of the most common ways we use is working on prototypes. We are making a prototype of some features to show how they can work. Then we conduct interviews with clients, early adopters, and our target group and gather feedback. During this process, they gave us lots of suggestions in most cases. After some of these introductions, you can be pretty sure you do something that will bring them value (if not, you can always stop or do it in a completely different way).
5: Next steps
Don’t go directly to programming based on your feelings, or hypotheses, without testing some options with users. First, verify the problem with them, then go to development, and finally implement!
Good implementation of new functionalities in your application is based on the product discovery approach.
First, define the users’ problem and confirm it with them.
Always keep your business goal in mind.
There are many ways to solve the problem, make sure that your choice is the best and most valuable for your users.
Verify your way of solving the problem with users and collect feedback.
As promised, I’m sharing a checklist with you. Use it to verify the process of developing and managing your app, and diagnose areas where bugs may appear, generating additional costs.