How to estimate the development of a website or an app
How to estimate the development of a website or a mobile app?
When we estimate a development project we need to get two numbers. The first one is the number of days or months needed to complete the project. The second one is a budget to pay the development team for their work. What is behind these two numbers? Let’s find out!
First of all, let’s understand why estimation is so important. As a part of analytics, the estimation helps to check if a business idea is worth all the fuss without the risks of launching the product to the market. For example, a business wants to automate internal processes with a new app it seeks to develop. But sometimes it is more profitable for the business to buy an existing automation solution without spending money on developing it from scratch. The estimation can also test the business model of a startup because it will help understand how much time it takes a product to pay off and start bringing profit.
If you want to know how to differentiate between good and bad estimates, what pitfalls can you find when estimating a project, and whom should you ask to make the estimate, read the article below.
Ronas IT is a company that creates digital solutions for small businesses and startups. Our work approach is based on business analytics and agile-based development. We have already been on the market for several years and helped our clients to launch some successful projects in the fields of fintech, team management, business automation, and delivery.
Methods of IT project estimation. There are several methods to estimate projects in the IT industry. The choice of the methods depends on the project itself: its scale, requirements to the result, development team, and development approach. Some of these methods become a thing from the past as technology advances and business demands change. In this article, we will focus on the methods that are widespread in the IT industry today.
Method 1. Analog estimation. When using analog estimates, the project is compared to apps and sites that the developer has already created. To do an analog estimate, the project is divided into several parts. These parts can be modules, for example, a registration module or a search module for a catalog with filters. If the app has various user roles, the project can be divided into parts depending on the user type. The parts can depend on the type of platform or type of data and parameters used. Any part that can be compared to the same kind will fit.
This method has one flaw. Using it, we can’t estimate unusual tasks, for example, the development of unique functions. Also, this method won’t work if a task requires using new technologies that the developer is not familiar with or if there’s no data for previous projects.
Method 2. Expert estimation. This method requires the help of a developer, who has profound project experience. The expert should examine input data and tell how much time and resources a team needs to complete the project. This method is one of the most common in the industry because it doesn’t require many resources. The development company can quickly prepare an estimate by asking a senior developer to analyze data provided by a client. But this method lacks accuracy. According to researches in the IT industry, experts tend to give over-optimistic deadlines. The actual work on the project is usually 30% longer than the expert estimates.
Method 3. Three-Point estimation. The method of the three-point estimate is used to improve the accuracy of the expert estimate. When using this method, one determines the minimum resources needed to implement the project, maximum resources, and average ones. These values coincide with optimistic, pessimistic, and middle estimations. Even though these estimations are made by an expert, this method allows taking into account possible problems that the development team may face and creating an estimation that incorporates these risks.
Combined estimation. The above methods can be combined. For example, we can use expert and analog estimations at the same time. Or we can provide several estimations depending on the stage of the project life cycle. When conceptualizing a new product, one can generate only a rough estimate. In this case, the expert estimation method is a good choice because it’s less time-consuming but gives a general perspective on the required resources. Later, a more accurate and detailed estimate can be prepared based on user stories with the analog method.
When we combine several methods of estimation, we can plan resources and budget for project development more accurately. Ronas IT uses this approach. At first, we give a rough estimate. Then, after creating a design and user stories, we make a detailed estimate. This estimate is based on comparing the current project with our past projects. To do this, we need the help of several team members: an analyst, a designer, and an engineer. However, the result is worth it: the client gets a detailed and accurate estimate. Both the client and the development team are confident about it. Moreover, during this multi-stage estimation process, the project becomes more defined and the client gains a clear vision of the project. Our clients don’t need to wait for a prototype or MVP launch to check how the app works. This can save clients money and resources on making changes to the project.
The estimation process. Different companies use different methods of estimation. Here we will describe the process implemented at Ronas IT. Our approach proved to be efficient with many clients and fits projects developed from scratch.
Step 1: input data study. When a client requests an estimate, our analyst arranges a meeting with the client. During this meeting, the analyst finds out what business goals the client has and how the developed product will affect the business. Also, the analyst researches project materials if there are any: an SRS, a design concept, or an app prototype.
Step 2: project decomposition. At this stage, the analyst breaks down the project into clear, achievable objectives. The main characteristic of an objective is that it can be measured in numbers. For example, if we want to raise the quality of customer service using an app, we should measure the quality of customer service as it is now and set the desired rate. To do this, we can use the net promoter score that indicates customer loyalty to the business.
The analyst and the client connect the set objectives to available resources and planned budget. After decomposing the business goals, the analyst starts working on the technical requirements. The analyst breaks the project into user stories. A user story is a form of describing functions of an app or a website that contains the user’s intention and a way of interaction with the product.
Step 3: task estimation. After discussing project tasks with the client, the analyst asks a designer and an engineer to estimate the project. At this stage, the team gives the client a detailed design estimate and a rough development estimate. Why not provide a detailed development estimate right away? Practice shows that when working on the design, the functionality of the future product can be refined and changed. This can influence the development estimation. At this stage, the expert estimate of the design can be 5-10% inaccurate in terms of time, while the development estimate can be 40% inaccurate.
After completing the design, the team can give a detailed estimation of the development. For this, the analyst invites the engineer, who studies the user stories and project design. He compares the functionality of the app with our similar cases, defines standard functional modules, and gives the development hours estimate. The accuracy of such an estimate is higher, so the client won’t risk making mistakes with resource planning.
Step 4: final estimate. A final document with development estimation is the result of the work of the analytical team together with the client. In our estimate, the project work is divided into functional models (flows) that consist of user stories. We calculate the number of hours for each flow and divide it into the front-end and back-end work. The estimate also includes technical tasks such as deploying the project and designing its architecture, as well as work process tasks such as team meetings.
Results of estimation. Being a part of analytics, the estimation does not only set deadlines and budgets. It is an instrument that helps us to define the look and functionality of the future product. The detailed estimate will help to check the profitability of the business idea and improve it if needed.
Only a team of professionals can give a reliable estimation that won’t disappoint the client’s expectations. The more time and resources we use to create an estimate, the less chance that works will last 8 months instead of 5 months that were promised, and that the project will require more money than it was expected.
A high-quality project estimation when choosing a contractor is the key to a successful project launch. This article gives our readers a general understanding of IT project estimation and helps them to distinguish between high-quality and low-quality estimations. If you want to discuss your idea with us, click here.