DEV Community

Cover image for How to Estimate Web App Development Cost
Django Stars for Django Stars

Posted on • Updated on • Originally published at djangostars.com

How to Estimate Web App Development Cost

  • How much does it cost to build a web app?
  • $33,659. This conversation is unlikely to happen but a price could be close to that sum. Important message: one doesn’t simply estimate all the costs with 100% accuracy. But I’m going to help you get as close as possible.

So you decided to create a web app. Regardless how many technical details or promoting ideas you have about your product, you first need to understand expenses.

Web app cost estimation is something very few know how to approach. Partly, because clients tend to demand to hear an accurate number, like $17,659, while a development team is constantly trying to explain why it’s more tricky than that.

In this article, I will explain why cost estimation isn’t that plain, the obstacles you’re going to face during the process, and how to approach the cost estimation so you don’t fool yourself and your client.

You don’t estimate the lines of code, you estimate a product

When I’m talking about web app development, I mean the development of the whole product, not just some lines of code. It comprises development itself, solution architecture, communication, testing, quality assurance and anything which a project requires. And, oh, somebody has to manage this process. So you got my point.

Apart from the development process, there are other reasons why estimates must also cover other parts of the product development:

  • Budget planning. I already briefly described this point: think, analyze, create, test. Plus, there are always different sorts of cost contingencies.
  • Assessing the idea viability. To know the price means to know if you can even afford it. What if somebody has already done it or nobody even needs such an app? Assess the viability!
  • Pitching ideas to investors. The big don’t care about your game-changing solutions unless you can show them some numbers. It’s best if you can demonstrate them the development cost versus the expected revenue, providing the latter is bigger.
  • Unique products result from teamwork. Great teams create great apps. Each person of the team is an individual contributor to building an efficient app. Good teamwork is fundamental for quality results.

Other major components that you need to take into account are:
Communication. You will have to constantly know what is going on, so talk to the team as often as required. Your task is to explain to them your vision as clearly as possible. Otherwise, there can be lots of confusion.

Creative process. Great, creative ideas usually take time to transform into real implementations. Unfortunately, nobody can promise that a single brainstorm session will give all the answers.

Additional tasks. During the development process, you may come up with new wants or needs. Some of those tasks will require particular team members to engage more and so the development time will increase.

I bet you wish there was a Magic 8-Ball to say exactly how much it will cost. Unfortunately, there’s none, so I suggest you take our time and start exploring how web app estimation works.

How to manage things you know and don’t know

In this part, I will tell you about the obstacles of the web app estimation. We will also study a popular approach to describing an idea and the situations when it won’t work. Finally, I will reveal how to take into account things you might not know about your future app.

When I say obstacles to estimating an app cost, I mean something we might not know about the app. Yes, developers aren’t all-knowing Hacker-men. Technologies evolve too rapidly, and so the tech world is full of uncertainty about how something can work. Especially with novelty ideas, where no one has tried it before.

How to deal with the uncertainty? There’s a simple way, and it can also help you get some certainty. Here’s what we do: we divide all the information about a web app (it can be any other variable as well) into the three categories:
Alt text of image

Trying to imitate another app to build yours? Stop it.
The most common approach to estimating a web app is to visualize the end result and trace the steps backwards to the current state of a project. The question to ask is: What has to be done in order to achieve this?

This approach doesn’t always work for novel ideas, because there’s too much uncertainty about the end product. We simply can’t give an accurate estimation based on a description like this: “I want to make an on-demand platform like Uber, but for pets” or “I want to build decentralized Facebook on a blockchain and with privacy”. I call this approach “a clone with a twist”. This gives us an illusion of understanding what the final result should be, but this is just an illusion because ultimately you are not Facebook and not Uber. We see an app or successful service and think “If I can change this and this part, I will get my perfect new app”. If you think on a system level, companies like Facebook and Uber have spent thousands of engineering hours to get where they are today. You can’t neglect this and demand the same result with much fewer hours and less money to spend.

So, fixating on the image of another product in your head while building your own is a big no-no. The reason is simple: something will most likely change in the course of action. In practice, it means you will have to add and remove, or completely change some features for the sake of a better and more complete product. Other people’s experience is useful, of course as it shows that something can be done.

Remember: deviation from the original plan is 99% inevitable.
In this scenario, the calculation is pretty rough. You can use Order of Magnitude Estimates to

Get something like this: “I’m 90% certain that the app can be completed between 50 and 95 days. I’m also 80% certain that the project will cost between $50,000 and $80,000.”

How to estimate web app cost step by step

Step 1. Create user stories and engineering tasks

We collect all our Known Knowns and use them to develop possible user journeys. User story mapping focuses on user’s needs and wants and allows the engineers to make first assumptions about required technologies.

Step 2. Clarify the scope

Making first assumptions is not enough to start working. Each team member needs to know their task and your view of the app. The scope of work varies considerably among different roles in web application development based on the complexity of the wanted web app.
Alt text of image

This table shows just some of the experts required to create a web app. For most cases, you are likely to need more — a graphic designer, QA engineer, project manager, copywriter etc.

Step 3. Estimate each task

After we divide the scope into smaller tasks, we use Three-Poinе Estimation Technique to estimate the optimistic, most likely, and pessimistic time for developing a product feature. Here, I will calculate the work in an average working day (but approach might be different depending on the project).

Assume you want to build a website that allows seeing the imitation of traffic routes to optimize the traffic load in the city. Such a service will require a high-level of map precision and artificial traffic imitation. Lets presume we know the components to make it work properly. One of the features we will definitely need is an artificial traffic management system. Except for this, let’s include a filter for different types of weather conditions.

To implement each feature, we will need that many days:
Alt text of image

There’s also such a thing as Standard Deviation. We at Django Stars take a 95% confidence interval. So, the final formula will be like this:
Alt text of image

So, to implement Traffic Management, we will need 33 ± SD days. Now, try to calculate how much it will take to develop Weather filters.

What to do if you don’t agree with the web application cost

When you’ve estimated the price, you may find it either too cheap or too expensive.

  1. If it too cheap, ask what is included in the price, how many people are going to work on the project, and whether the team got the scope correctly.
  2. If it’s too expensive, here’s what you can do: a. Cut the scope. Leave only crucial parts of the product required to create an MVP.

b. Find alternative solutions. Some items may have cheaper substitutes. An experienced team can find alternatives that won’t affect the end product, but rather change the way the application works inside.

There’s another case — when your priority is time. If so, you will need to pay extra to cover the overtime hours or to involve more team members.

Bottom Line

To estimate a web app takes time and involves both the customer and various team members — engineers, designers, marketers etc.

After you tell your idea to the team, they will divide pieces of information into three categories:

  1. What they know and have experience in — Known Knowns
  2. What they haven’t done and they need to estimate risks — Known Unknowns
  3. What they can’t predict but have a vague intuition about — Unknown Unknowns It will help the team understand the scope and minimize the risks.

We use the Three-Point Estimation Technique to calculate how much it will cost to build a web application. It takes into account not only the code but the whole product.

The main rule: don’t rush, and be careful with your wants. If approached properly, the estimation is more or less accurate, so just relax, talk to the team, and enjoy the process.

This article about development cost is originally posted on Django Stars blog.
You can also visit our content platform Product Tribe created by professionals for those involved in a product development and growth processes.

Top comments (2)

Collapse
 
alinadunec profile image
Alina Dunec

Hi! The estimation of the cost of the application is a very important step in the creation of the application. Here you have to consider which contract was chosen: one that covers all the resources used or a fixed-price contract.

The advantage of a fixed-price contract is that it defines the amount of work that the company must perform for a set budget. In this case, the client receives the full cost of the project.

In a Time and Material contract, the client is billed for the actual amount of work performed by the developers, based on a daily or hourly rate, regardless of the stage of development.

You can find out more about app cost estimate in this article, which details everything

Collapse
 
entony79129727 profile image
Entony

Keeping it short: there's no exact number on the ‘initial idea’ stage. That’s due to lots of factors affecting custom web application development cost – time, devs’ country of residence, features, and engineering approach. But moving along and not knowing the cost doesn’t work either. But if still need approximate cost to build a web application you can check this one.