How to Estimate a Project: Cleveroad Experience
What's the first question that arises when a brilliant idea comes to mind? Do you care about what it takes to deploy it's implementation? Or about the programmers who will actually perform the development? It is a very big if. I bet a pound to a penny that the price is the only thing that matters to you.
"How much does it cost to create an app?" is one of the most popular requests on the IT subject in Google. This proves that for many this point is almost always crucial in making a decision to launch the project.
That is why the first thing you expect to get from an outsourcing company when you contact them is at least an approximate estimation which will help to assess future costs of mobile apps development. Can such a checklist really be helpful and how badly you need a more precise evaluation? In this article, we are going to answer these questions and consider the characteristics of each type of appraisement.
How to Estimate Your Project with the Maximum Efficiency?
How can a rough estimate serve?
In the theory of project management, a rough estimate is considered to be the most ballpark figure. It's accuracy may vary from 75 to 25%. This assessment is calculated into the very first step of interaction when a client is not yet sure if they will cooperate with the remote team at all.
The reason for such a little precision is not that the companies do not want to show the exact amount to be paid, but that computation in more detail at this stage is almost impossible due to the lack of clear information about the future product.
A rough estimate is a ballpark figure
The purpose of the rough estimate is to orient the customer to the amount of money they should count on, as well as outline the broad-brush development stages. This data should not be regarded as a document with unchangeable terms and conditions. It is handed out to a client for informational purposes only.
Do you know how to control project delivery at every stage of software development? Find out! Successful Project Delivery and How To Control It
Rough estimates at Cleveroad
Usually, a customer receives the type of estimation above, the day after they contact us. In specific situations, it may take up to several days. Depending on the requirements, we use two approaches for setting up the assessment.
Screen-oriented estimate.The first one is called a Screen-oriented estimate. We adhere to it in three cases:
- If the client provides the screen's description
- If the client points out an example of a similar application
- If the client delivers the ready wireframes
This approach does not involve a precise itemization. It aims to introduce the rough estimates to the client.
This is how it works. Let's imagine that the client wants to implement an app like Instagram. To make an estimate, we analyze it's functionality. Below, I have provided an example of how we would evaluate the feature of applying photo filters.
Bearing in mind that there are two types of filters, standard and custom ones, we would communicate the following:
Standard filters are ready-made solutions that simply need to be bolted to your application. Custom filters are to be created by developers on their own. Hence it follows that the second scenario is more labour-consuming and requires expensive work.
When casting up, we do not go into details about what set of filters the future application will contain (e.g., black & white, sepia, vintage, etc.). We will specify that applying standard ones will take X time, and the implementation of a single custom filter is going to last for nearly Y hours.
Feature-oriented estimate. Using the second approach, we compose a Feature-oriented estimate. It includes a list of options for the future app.
This is how it works: a client wants to implement, for example, a messenger and specifies that the following features are to be presented in the application: text chat, voice chat, personal profile, push notifications, a stickers market, etc. Further, we do a mental tally of the mentioned functionality without going into details.
Let's talk about formal relations between the development company and customers. Read about fixed price contracts and benefits they provide: What You Should Know Before Accepting a Fixed Price Model
Not to be unfounded, I will try to explain through the example: the chat may include a variety of additional options, like text-to-emoticon transformation or ability to "like" the response of an interlocutor. However, we do not consider these features when creating a rough estimate. Instead, we calculate the time required for the implementation of a standard chat which means text messages are exchanged.
What a rough estimate template looks like
The rough estimate shows the stages of product building and the time needed for their implementation. Additionally, we provide our customers with the minimum and maximum cost of the estimated time.
Regardless of the selected approach, the rough estimate includes five sections. In each section, we indicate the level of our experience in the defined area using the gradation "low, moderate, and high".
Main elements of Rough Estimate template
1. General section
It describes the preparatory works. Usually, they don't change much from project to project and consist of the following components:
- project description
- database setup
- REST architecture
The items indicated in the General section are not necessarily executed at once. Some works are carried out throughout the project.
It addresses the coding process directly. Here, we highlight screens and features that we are going to work on.
The development section is introduced by the 'business logic' and 'user interface / user experience' columns. In each column, we show the relevant number of hours needed for a specific part of work.
The process of software development can be a little frightening and tangled from client's point of view. Get rid of this feeling with: How We Create Software: Development Process at Cleveroad
3. Integration of frameworks and libraries
It is not always necessary to implement all the features from scratch. Some of them can be set by integrating existing libraries and frameworks. Such an approach saves the developers' time and the clients' money.
In this section, we list the external sources that should be used and specify the time for adjusting appropriate settings. For example, for enabling the feature of signing up with social media accounts, we might use Facebook or Google+ mechanisms.
It is mainly related to the technical writing. At this stage, we compose a detailed documentation of our code and provide other papers related to the project.
This section contains various improving proposals. They may relate to the data encryption, dialogs configuration, "rate us" options, and so on. The offers greatly vary depending on the project's specifics.
If you want to develop your own application but you don't know how much it will cost, this article is for you: How much does it cost to create an app?
What is a detailed estimate?
After all the questions raised at the stage of a rough estimate are agreed on, the outsourcing company proceeds to the calculation of the detailed expenses.
This is the most precise cost estimation in project management with almost 100% accuracy. It is performed with the obligatory participation of the developers who will be directly involved in the product's creation. Note that at Cleveroad, we usually follow the work scheme: one project - one team. It helps achieve maximum engagement in work and accommodate all-round knowledge by the employees.
Detailed estimate is a precise cost estimation of the project.
Detailed estimations are created on the basis of comprehensive record-keeping of the future application, particularly:
- Other documentation
In case a client contacts us with a ready-made documentation package, our managers will provide them with a detailed estimate within 2 business days. If you need us to prepare all the documentation without your participation, the time for setting up the appraisal may take up to two weeks.
How a detailed estimate template looks
It's structure is very similar to the rough estimate template considered above. Besides the description of the options, it contains such components as:
- Business logic (BL)
- User Interface / User Experience (UI/UX)
The hours spent for each direction are displayed in the BL and UI columns respectively.
The hallmark of the detailed estimate is the absence of the minimum and maximum columns. Instead, the document shows the precise time that should be spent on each area of work.
The success of your project hinges upon how well the development team understands your requirements and expectations, so find out: Why You Need a Great Specification for Your Project
Along with that, the detailed estimate displays the level of risk for each item in the list. It shows how the development time may increase under certain circumstances and may reach up to 20% of the planned cost.
Since both the parties agree on all the details and decide on or against specific options, the detailed estimate does not have the section of suggestions. The offers accepted by the client go to the features list. The denied proposals get excluded from the document at all.
The Detailed estimate compared to the Rough estimate
Drawing the line
As you can see, the cost of each product methods plays an important role at various steps of the workflow. Rough estimates gives an idea of the approximate cost when product implementation is at the stage of a vague idea. Detailed estimates specify a precise sum that should be paid when a client is about to launch the development.
In the long run, an evaluation is done for a client since he/she is in control of the budget. So, when you contact an outsourcing company, do not hesitate to ask them to work out the details above. It is better to spend a few extra days at this point than overpay for unforeseen features in future.