• Tomasz Soroka

Wrong feature implementation can cost you even 1000 times more. Do it right from the beginning.


Building and developing a digital application / product involves considerable costs. Often, the initial IT project estimates do not correspond to the final amount invested in creating the application.


Some costs are generated by poor management of the application development processes. As e.g. a bad process of implementing new functionalities to the product.


Today I am going to tell you about the costs generated by a bad process of implementing new features or the lack of it. You will be surprised how important your decisions are, from the very idea of ​​a new feature to its implementation, and how they affect the final cost of implementing the new feature.


You will learn, among other things:

  • How can improper implementation of functions affect the costs of the entire project?

  • What should you remember so as not to generate additional, enormous costs associated with introducing changes to the functions of your digital product?

  • How to do it right?

At the end of the post,I will share with you a checklist, thanks to which you will verify the process of developing and management your app and diagnose the area where the bugs appear. The checklist will show you the places where additional development costs may be generated.


Watch video



Ready? Let's start!


Project IT reality.

If you are not a technical person, you are often not aware of the costs that can be generated when you incorrectly implement a new feature in your product. Often the process of implementing a new functionality in projects is such that the product owner thinks up the 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. Not a little money.


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 that way.


How much can it cost you?

Implementing a new functionality in the wrong way can cost you a lot. The chart below will perfectly illustrate what order these costs are. Depending on at what stage of the process of implementing the new functionality to your product you will make the wrong decision - these costs will grow the more advanced the work on the new functionality is.


If you make the wrong decision when thinking about designing new functionality for your application, it can cost you three to six times as much. If you make the wrong decision when creating your code, it could be 10 times that. If you do this during the test, it will cost you between 15 and 40 times as much. If, on the other hand, your new functionality is already implemented in production, it can be up to 1000 times higher costs than if you did it right from the very beginning.


Conclusion

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 increase. 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 part of the functionality, one little thing, you have to remember that this is not just changing a text box or swapping one screen for another. Each change here has many other things that will be affected by those changes.

What are the costs behind each change?


NUMBER 1: Preparation

First, such a change must be prepared. So you have to prepare new mockups, new projects, new user stories, new acceptance criteria. So you have to consider all of these things when you are going to make changes to a function that is performed in production.


NUMBER 2: IMPLEMENTATION

Then the time spent on implementation is the time that your development team must devote to ensure that everything works as it should and does not affect the operation of other application functionalities.


NUMBER 3: TESTS

Then imagine if your function is being tested with automated tests. Therefore, with even the slightest change, some, perhaps most, of these tests need to be rewritten from scratch. So it's another time generating costs. Then manual tests. If we do several test cases, if you have test cases in your product, someone has to review them, rewrite them, or change them. And that also takes time.


NUMBER 4: DOCUMENTATION UPDATE

The next time is the time it takes to update the documentation for users. If feature A works differently at some point, you need to update the documentation the way you guide users, how to use it, and so on, and so on.


NUMBER 5: BAD FEED BACK

Then the cost, we call it bad feed back. That is, users who say something is not working as it should, a feature that does not solve their challenges, their problems, and that is also costing your employees time.


NUMBER 6: OTHER COST?

Also, keep in mind that whenever we change one feature, it is likely that other features in your product may be affected.

This means that we can have regressions. Maybe we need 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: How to implement functionalities in a way that will not generate huge additional costs? The answer is Product Discovery.


It is about an approach that allows you to define the real problems of your users and propose a functionality that will respond to these needs.


How does it work?


NUMBER 1: BEGIN WITH USERS 'PROBLEM

First of all, we always start with a problem, when you are going to develop a new feature in your product, it means there must be some need, some problem. The question is, are you sure your users have this problem, or is it just your hypothesis? It's always better to go outside and talk to users. Lots of people in many books, Lean Startup and others talk about it, go outside, talk to users, and acknowledge if they really have a problem. If so, are they willing to pay to fix the problem?


If we solve this problem and include this feature in the product, will you be happy to pay for it? And if users say "no" because they solve their problem in a different way, it's probably not worth doing.


NUMBER 2: REMEMBER YOUR BUSINESS GOAL

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. So there are many things to consider .. Of course, any problem can be solved in many different ways.


NUMBER 3: THE WAY HOW I WANT TO SOLVE A PROBLEM

And the question is: Is the way you want to solve the problem the way that is best for the users, for you, is it cost effective and is it generating value?


NUMBER 4: VERIFICATION OF NEW FUNCTIONALITY WITH USERS

You should definitely validate the solution with your users before implementing it and there are tons of ways you can do it.


One of the most common ways we use is working on prototypes. Therefore, we are making a prototype of some features of how this can work. Then we conduct interviews with clients, eary adopters, our target group and receive feedback. During this process, they gave us lots of nice feedback and suggestions in most cases. Maybe you should change that to this. You should remove it. I don't need this feature, and so on. After a few such introductions, you can be pretty sure you will do something that will bring them value. Or you can stop, or maybe you can do it in a completely different way. So there are many ways.


NUMBER 5: NEXT STEPS

Don't go directly to programming based on your feelings, hypotheses, without testing them with users. First verify the problem with users, 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. Second, remember the business goal

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

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

  5. Fifth: start development

  6. Implement!

As promised, I will share with you a checklist, thanks to which you will verify the process of developing and management your app and diagnose the area where the bugs appear. The checklist will show you the places where additional development costs may be generated.


I hope this text, video and checklist will prove to be very valuable!