blog

:)You have successfully subscribed! Thank you for subscribing to our newsletter!! Email has already been taken

back to blog

Sep 16 2019 | byDmitry Budko

Client Guide: Estimating Application Development Cost

When a client approaches a software development company, one of the first things that he’d ask about would be the project price.

While this is completely understandable, the question of project price is much more intricate than many people think. It’s not about how many lines of code a developer writes in a week - it’s about meeting the client’s requirements and business goals by delivering a high-quality and fully functioning software solution.

At DashBouquet, we understand the importance of project cost so we decided to write this guide that would explain how our company estimates the projects and comes up with the price.

Factors that affect the project cost

The project cost is formed from multiple factors. Before getting down to the individual ones, let’s have a look at the basic three:

  • Company’s location: will impact the hourly rate
  • Experience of the specialists that will work on the project
  • Company’s reputation: may impact the cost of the services

These factors will most often serve as a base for calculating the price of the company’s services. Now, let’s see the factors that form the cost of an individual project:

  • App complexity (functionality)
  • UX/UI
  • Amount of content
  • Integrations with third-party services

In other words, the more complex your app is going to be, the more you will have to pay. Here is how we calculate the cost at Dashbouquet.

Dissecting the project cost

When we start estimating the project cost, here are the things we always consider:

  1. All temporary spendings of the project team members, such as time for the development, testing, work with documentation, writing tests, debugging, negotiation on design, holding meetings, etc.
  2. Spendings that are specific for the calculations, video cameras, programmed robots and so on.
  3. Spendings on project infrastructure - specialized software, hosting for landscape, licenses for digital products, various sorts of insurances, etc.

The basic spendings include code hosting, work stations, monitors, development environments.

We cannot give you a detailed description of each of these points simply because every project is individual and varies in complexity and size. But you can already see that there is a lot to consider.

Setting the price

While we won’t give any specific numbers, here is what we can say about price calculation.

We set the price by multiplying the hourly rate on the number of hours we spent on the project. The number of hours is stated in our weekly reports and can be easily double-checked with the tracking system of choice (i.e. Jira). A client can plan the budget by the following canvas: there are 5 working days in a week, so 5 days with 8 work hours in each would make 40 hours per week.

The Dashbouquet principles of estimation

There are many technologies for preparing the estimation of a software product. These technologies differ by the labor inputs balance for estimation preparation and their accuracy.

Here are the main factors we consider when performing an estimation:

  1. Ready and approved (A) technical task is not perceived as something permanent. Moreover, we firmly believe that "everything" will change at least once during the work process;
  2. If some parts of the project are not under our responsibility then the risks grow "significantly". In such cases we are not ready to take responsibility for the end result;
  3. The minimal amount of time for the development of any MVP is 6 weeks. We never got less than that during 4 years of our work;
  4. The temporary spendings on management make up at least 30% of the development cost. Any smaller percentages increase the risks;
  5. Estimation is not a promise nor a guarantee. It has only one goal which is to inform the client about the project.
  6. The main method of estimation that we use is the decomposing of tasks until the depth of 8 hours. That means we decompose the tasks in such a way that the biggest task takes 8 hours. After decomposing, we compare the project with the available estimations and real working hours and make any adjustments, if needed. The main advantage of such an approach is that everything is done fast and in an efficient manner. As for the disadvantages, it’s not very precise. We sacrifice precision for speed, as mentioned above.

These principles help our company form a trustworthy relationship with the client. The client, in turn, always knows what he is charged for and where the money goes. We stand for 100% transparency - not less than that.

Development cost estimation for ReactNative app

Estimation and responsibility

Some clients may wonder: what is a company’s level of responsibility when estimating the project cost and its future outcome? Here is what we can say.

Estimation is a forecast that based on the existing experience, information and client’s expectations. But during the work process, all of these components tend to change.

We cannot see the future, therefore, we cannot 100% estimate how long a certain project will take. What we can do is increase the forecast accuracy but that would mean additional spendings on collecting the data for the forecast and such spendings do not usually make much sense.

So for our company, the main rule is: no estimation is a 100% rule to follow, neither it is a guarantee for a certain number of working hours.

Summing up

The range of a web application cost may vary from $15K to $250K and more, depending on the app’s functionality, size, goals, etc.

While no development company can give you a 100% precise estimation for a project (unless they work by a Fixed Price model), a professional development company can guide you through the stages of the development process and, together with you, draw an approximate estimation with the most suitable pricing.

When choosing a development company, do not opt for the cheapest option. Instead, look for an agency that has a solid portfolio and deep expertise in the needed domain.