📜 ⬆️ ⬇️

How much software costs to build: what is the budget for developing an application



We publish a translation of the material by Alexander Savchenko, an employee of Django Stars. He tells how to estimate the cost of creating mobile applications, taking into account both direct and indirect cost items.

Determining the cost of developing a specific application is an important task for both the company and the programmer who works independently. Immediately it should be said that 100% accuracy is unlikely to be achieved, but this review will help to get closer to the maximum correctness of the estimate.

Skillbox recommends: Practical course "Mobile Developer PRO" .
We remind: for all readers of "Habr" - a discount of 10,000 rubles when recording for any Skillbox course on the promotional code "Habr".

You evaluate not the lines of code, but the product as a whole.


When I talk about developing an application, I mean the project as a single system, not individual lines of code. Accordingly, its implementation includes architecture, communications, testing, quality assessment and all that is usually included in this process.
')
In addition to direct costs (the time that is spent solely on the work on the application), there are indirect costs that are not always taken into account:


You also need to take into account such important things as:


Consider implicit factors


The main problem in appraising the cost of creating an application is that at the beginning of the journey we do not know what difficulties we will have to face. This is especially true for ideas that no one has yet implemented.

In order to assess most of the known factors that influence the development process and its cost, it is necessary to conduct an analysis, and it should also include an assumption about the emergence in the course of work of new problems and tasks, as mentioned above.

Factors can be divided into three categories:

  1. Everything that is exactly known at the moment - for example, the need to register a domain, rent a hosting with certain characteristics, etc.
  2. Factors that are still unknown, but their appearance can be predicted - for example, the transfer of the deadline or technical work on the server.
  3. Factors that are unknown and difficult to predict.

Step by Step Assessment of Development Cost


Developer user stories and tasks

At this stage, it is necessary to describe the functionality of the system from the point of view of various user groups. This, roughly speaking, is the documentation of external product development requirements. In addition, you need to distribute tasks for the implementation of these functions for individual developers.

We specify the scope of work

Initially, it is necessary to formulate a clear vision of the application and to ensure that all project participants understand this vision. It is also necessary that each team member know their role in the development of our web application.

The frontend developer must know which browser versions to support, whether a mobile version is needed, etc. The backend specialist should understand what features the administrator will have, the “guest” user, whether integration with other systems is necessary. Similarly, the architect, interface designer, business analyst, and other team members should know the nuances of the tasks that are important to them.

Estimated time to complete each task

After the whole development process is divided into separate tasks for specific team members, we proceed to the calculation of the time frame for the implementation of each of these tasks. It is desirable to provide an optimistic term, normal and pessimistic - that is, such when problems arise and the deadline fails.

It may look like this: it takes 10 days to develop a traffic management system in an optimal situation; really - somewhere 20 days; if problems arise, then a month. Still need to take into account the correction factor, which is about 95%.


Timing assessment


Costing task execution, taking into account the 95% correction factor

The illustrations show an example of calculating the execution time of individual tasks. For “Traffic Management” it is 33 days, and deviations from the estimated dates are possible.

What if the web application score is too high or low


If you don’t like the end result too much, that is, the price of the application turns out to be too high or low (in the latter case it may be that there is simply no point in working for such a sum), try the cost estimate again.

If the application turns out to be too inexpensive, consider how many people participate in its creation, whether all the steps and tasks have been taken into account.

If, on the contrary, it turns out a lot, look for more budget solutions, reduce the number of team members involved in the project, set some other priorities.

As a conclusion, I would say that when estimating the cost of creating a web application, it is necessary to take into account all the details, including known and unknown factors that may influence the development process.

The miscalculation allows the team to understand the scope of work and minimize risks. The main rule - do not rush, and be careful with your desires.

Skillbox recommends:

Source: https://habr.com/ru/post/421731/


All Articles