• Tomasz Soroka

Don’t lose your money! Do the right estimation of your new app


When you are thinking of creating your own application, one of the first questions you ask yourself is how much it will cost you. Perhaps you have a great idea, but due to the lack of experience, you are not able to even estimate how much you should invest in creating a new application. Or maybe you have already sent several inquiries and received estimates that significantly differ from each other? Let's check what's important to do the right estimation before you start your product development. Don't lose your money!


Before you go from idea to implementation, you should check if you are ready to start the development of your new application. Before starting development, you should learn about elements and areas that have a direct impact on the budget of your application.


It's important to know what to do and what for - you shouldn't start your app development too soon, before you know all the answers. Why? Technical companies and developers you are going to hire to build your solution are experts in their field: software development. When you are going to create and develop an application, your developers need to understand what to do and why. They need your know-how to provide you with high-quality software. Before starting the development, the entire team should plan the process well and each member of the team should understand it the same way.



And what's more, that your idea should not be based only on hypotheses. You need to have verified and proven users' needs and know their real problems that your application has to solve. Thanks to this, you will minimize the risk of launching an application that no one will use.


So what should you do before starting your app development?

1. GET TO KNOW YOUR USERS AND THEIR NEEDS

Regardless of what idea you have for your application and what user problems it is supposed to solve, your potential users are already dealing with this problem, they have some process of managing it, their habits. Your solution must improve this process, solve their problem in the best possible way.


Both you and your entire team should have a good understanding of the current user process: how does it work, how do your users behave today and how it will change, including the software that the team is going to develop. A team that has a good understanding of those areas may provide you with valuable advice on building and developing the application.



2. PREPARE MOCK-UPS AND DESCRIBE A USER FLOW

Another very important thing that you should have in your mind before starting development is preparing mock-ups of your application. Remember that one picture is worth a thousand words. Prepared mock-ups can be simple boards, nothing complicated, but they should be prepared before starting development work.


Having mock-ups, you should consider user flow. How will users interact with your solution, what they can do on the login screen, where they can move, etc. It's about how the user uses your product. When you combine mock-ups with the ways of using the app, you get a complete picture and your team can show you if you have any gaps, what should be improved, and so on. The input data needs to be ready before starting the development process. Starting to get the answers while developing your product is a waste of time and money.

3. COLLECT THE REQUIREMENTS AND ACCEPTANCE CRITERIA

A very common and very good solution is to prepare the so-called user stories. This is the typical way of gathering requirements. Your team will help you define the user's story. Remember, however, that users' stories do not define everything. Next important element of preparation for development is collecting acceptance criteria responsible for confirming that something is delivered. Let me give you an example to illustrate it better:

As a registered user, I want to see a list of my articles in the application (user story).

Thanks to the acceptance criteria, we can really tell under which circumstances this requirement has been delivered as it should. The acceptance criteria for this user story may be as follows:

the requirement will be met when, after logging in to the user's panel, the user, after clicking on "My articles", will see a list of all his articles.

This is an example where we're using behavior-based programming (using examples to define the criteria). Another method is to use the BDD (Behaviour Driven Development) methodology. In BDD we use scenarios where we describe exactly with a few words when we can say the user story and development is complete, using steps like given, when and then.


Thanks to the collected requirements and setting acceptance criteria, your developers will, firstly, know exactly what do you expect from them, and secondly, they will be able to quickly check whether they have delivered what was expected.



4. DOMAIN OF YOUR SOLUTION

The last thing you should remember before starting development is the domain of your solution. The team, the software company you hire to build your application has to provide you with high-quality software, it's their main responsibility. You can e.x. represent the beauty industry, logistics, or hotel industry. You are an expert and your team will not necessarily have experience in this field. So it is your responsibility to provide them with everything they need to do the job, to better understand your industry and its specificity.


SUMMARY

Before you start developing your application, you should be well prepared for it. These preparations will allow you, firstly, to find the right company to build the application, and secondly, they will save you a lot of money that you would lose creating an application that does not respond to users' problems and is based only on your hypotheses. Or fixing poor quality software, created by a team that doesn't understand what you want to create and why.


Before starting development, you should follow these steps:

  1. Get to know the needs of your users.

  2. Prepare mock-ups and user flow.

  3. Write down users' stories and collect acceptance criteria.

  4. Provide your team with the necessary knowledge about your solution domain and the industry you represent.

All the points mentioned above can be improved during the process of building and developing your application. But you should never start with an application with just an idea in mind or a single page of description. If you do, you can be sure that you will lose a lot of money. Even with an agile approach, the results will not be as good as they could be.


Need some more details about estimating your project or some help to know the elements of the budget for the app development?


Download our checklist that will help you quickly estimate the budget of your new application. It's free and we hope it will be useful!