Before you go, check out these stories!

0
Hackernoon logoHow to Estimate What You Can’t Predict: Web App Development Cost by@alex.savchenko

How to Estimate What You Can’t Predict: Web App Development Cost

Author profile picture

@alex.savchenkoAlexander Savchenko

Business Analyst at Django Stars

- How much does it cost to build a web app?
- $33,659.
Read the original version of this article about web app development cost on Django Stars blog.

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:

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.”

You May Also Like

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.

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:

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:

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.

Useful links:

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.

If you find this post useful, please tap 👏 button below :)

Tags

The Noonification banner

Subscribe to get your daily round-up of top tech stories!