Work on each new project begins with its rough estimation.
For that purpose, we isolate all the project components and other logical tasks to see how much time each of them may require, adding a certain time reserve for unplanned work and error handling, if any.
This calculation serves as the basis for a rough estimate, which we provide to the client within one week of receiving their project specification.
We always note that the rough estimate is prepared for information purposes and should not be regarded as the final project quotation.
We usually include the following information in our rough estimates:
List of all tasks based on the functionality components to be implemented in the project and the number of hours required to complete each task.
For each task, we estimate the minimum and the maximum number of hours it may take to complete.
With such a structure, we outline the general project scope for the client to see which components are going to be included.
Project feasibility analysis.
Within the scope of preparing the rough estimate, we check whether all project components or the project as a whole can be implemented in the given environment.
We verify that there are no limitations caused by the selected mobile platform, the available resources, etc. Otherwise, we try to find other solutions.
The project scope may include functionality components requiring certain technological expertise, which our team does not have immediately.
In such cases, the rough estimate will also include additional time for researching and testing the new technology or tool.
Analysis of cost-intensive components.
For each project, we isolate the components that are expected to require a lot of hours and a considerable budget.
We analyze such components trying to find a more cost-effective solution, by either stripping it of extra functions, suggesting a simpler alternative or scheduling it for future product versions.
For example, if the initial project specification includes real-time messaging, we check whether we can replace it with non-real-time messaging while not affecting the overall performance.
If we can first implement non-real-time messaging, we will lower the project cost considerably, both in terms of hours and in terms of budget. We can implement real-time messaging later, if necessary.
Cost estimation of especially complex solutions can take some time. For that reason, we schedule such tasks to the project planning stage which usually takes from two to four weeks and precedes the first project iteration.
Questions to the customer.
If we need clarifications from the customer, we always try to state our questions as clearly as possible.
This way, we can achieve the most effective communication between the customer and the outsource team, ensuring that no time is lost on unnecessary clarifications.
If we ask: “What do you want to notify users about?” and “What push notification service do you want to use?”, we may get a response asking which options we can offer.
So, while discussing the push notifications, we’d rather ask our questions as follows:
1. As the project scope includes push notifications, we suggest notifying the user of the following events: […]. Please let us know which of these notifications we should implement.
2. We have analyzed the available push notification services and, based on your project specifics, we recommend the following options […] for these reasons […]. Please let us know your opinion on this.
Depending on the client’s answers to our questions, we may update the rough estimate of the project.
In this section, we offer our suggestions, which may improve or optimize the project in terms of both design and applied technology and tools.
For example, if the project is about developing an application similar to an existing one, we can suggest ways to make the application look unique.
When we put together the technology stack for the project, we start with analyzing applications of a similar type to identify the tools, platforms, frameworks, and libraries that were used during their development.
We determine those, which we find especially efficient and propose them for the new project.
At the same time, we may suggest using the development tools and platforms with which our developers are familiar, if they match the project purposes.
It may happen that our rough estimate exceeds the budget planned for the application development.
However, we value all our customers and try to be flexible in discussing potential projects.
Sometimes, when the proposed project scope does not match the budget, we suggest developing only the minimum viable product (MVP) demonstrating just the core functionality.
MVP development takes much less time and requires a smaller budget while carrying less risk than a fully-functional product. MVP is developed on the basis of market analysis with the minimum set of features selected in accordance with the preferred business model.
We submit the rough estimate to our client for approval and eventual update if necessary.
When all details of the proposed project are finalized, we can proceed with signing the contract, which is followed by project planning.
During project planning, we define the full scope of the project including all features to be implemented, the design and documentation. At the same stage, we also prepare a detailed project estimate.
Should you need any additional information on the project estimate principles adopted at Anansi, please contact us.Back to Playbook