Price estimate for web and mobile applications
Asking for a price estimate
When you decide to outsource the development of your application, it is important to find a company who is not just a team of coders but a reliable partner. That’s why you look for a company with a good reputation, a number of successful projects, good references and — most important — the one who will understand your needs. In simple terms, this would be enough to choose the best software development company to work with. But it’s not. Because when you choose some companies who seem to perfectly fit your needs, it’s time to ask for the estimated cost of the service. And here is where it gets tough.
Estimating a project is a complex action and it takes some time to put everything together. And even then, the estimate can be not completely accurate. That’s why when we ask for an estimate, we get offers with a broad range of different prices. To get a competent price estimate, you should know what does an estimate include and what does it really take to make an app.
What does an estimate include?
Price estimation for the web or mobile applications requires well-defined assumptions. Usually, we are asked about something unique. Every unique detail — design or a feature — translates into a certain amount of time and talent of a specialist. That means that before estimating the price, we need to evaluate every project and calculate main stages of its development. It’s much easier if the requirements are presented within a functional specification. But it happens sometimes that the client who is asking for an estimate does not have such documentation. Our role is then to help them to clarify their needs and requirements.
Collecting the requirements is performed by a User Story Mapping session. During User Story Mapping we acquire information about all the required functions. Notation of the requirements should be clear, transparent and most importantly — easy to understand. Estimation includes all aspects of the final product, so it will be easier to estimate price more precisely when we have well-defined requirements. As a Client, you don’t want just a piece of software, you want a functional product — right?
What factors influence the cost of developing an app?
The cost of developing an application can be different according to many factors. The most obvious differences influencing this cost are the level of developers’ skills, developers experience, and the average hourly rate. But as various software development companies use different ways to estimate the price, it’s not that simple — the final calculation can be based on many other factors. The bad news is that it’s not that clear what the good estimate should include.
As the estimation consists of a number of factors, the first quote which client get is rarely the price that actually covers all the services which will be needed during the process of product’s development. There are a few fixed points which should take into account when we prepare the estimate:
- Consultations, research. This includes all the cost of brainstorming, User Story Mapping and precise description of the application.
- UX Prototypes/Mockups. All the costs related to creating drafts which will allow for the precise definition of requirements.
- Design — costs related to graphic design.
- Development. This includes all the actual development work necessary to create a working application.
- The creative process and quality standards. They have a significant effect on the final cost of the project. In many cases, this is the most costly element and it is the largest share of the project. Usually, the cost of the quality works like code review, unit test, automatic tests, are counted in the price, but sometimes this type of cost is estimated separately.
- Project management. A project manager is always needed, but he does not always have to work full-time.
- Tasks which may appear during the project lifecycle. As some tasks may appear during its lifecycle, their cost is not always included in the estimated price of a project. If the product owner is not able to collect the requirements by himself (as it requires some specialistic knowledge of field), he (or she) should be prepared to bear some additional cost.
- Costs of infrastructure and implementation in the production environment.
- Communication and customer service. Development of the applications using Agile software development (such as Scrum) requires setting up appointments between the customer (Product Owner) and the development team, and up-to-date communication.
- Guarantee — costs related to the warranty services.
- Licenses and the copyright laws. If the application is using software of some external companies (like libraries or tools) which are paid, it will also impact the final cost of a project.
Each software development company estimates the projects in their own way. Usually, the cheapest offer is not the best one. The promises to build the web or mobile applications in 2 weeks are also quite doubtful. When collecting the offers, always check what exactly does the estimate include.