• Tomasz Soroka

Wrong feature implementation can cost you even 1000 times more!


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 the 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 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, they 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.

source: boredpanda.com


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 points 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?


1: Preparation

Every change must be prepared first. So you have to prepare new mockups, new projects, new user stories, 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 the production.


2: Implementation

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.


3: Tests

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 generating more costs. Then 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 called "negative feedback": when users say something is not working as it should, a feature does not solve their problems, 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 really 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, for you? Is it cost-effective and can generate value?


4: Verification with users

Never skip this step! You should definitely 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, 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, hypotheses, without testing some options with users. First, verify the problem with them, then go to development, and finally implement!


Summary

Good implementation of new functionalities in your application is based on the product discovery approach.

  1. First, define the users' problem and confirm it with them.

  2. Always keep your business goal in mind.

  3. There are many ways to solve the problem, make sure that your choice is the best and most valuable for your users.

  4. Verify your way of solving the problem with users and collect feedback.

  5. Start development.

  6. Implement!


As promised, I'm sharing a checklist with you. Use it to verify the process of developing and managing your app, diagnose areas where bugs may appear, generating additional costs.