Here you draw diagrams and describe how the application should work. Now you need to find a developer who will do everything. However, you should get time and money estimate first. You send a request to several companies or several freelancers if you have a small project. But what you should expect?
We can not speak for every project and every company, so we'll try to give you an overall idea of how such estimations usually happens.
The more precise the requirements, the less chance that you will be misunderstood and the less chance that you will be charged for additional changes (situation, when the developer and you understand one thing in two different ways, are very common). And, of course, the more accurate will be the estimation of the cost of mobile app development.
Therefore, we advise you to discuss on the first call the following things:
An experienced specialist (perfectly it should be business analytic) should be assigned. He studies everything that you provide: technical specifications, descriptions, prototypes, usage scenarios, etc.
Sometimes, there are only ideas or general descriptions. Sometimes, there is some kind of technical specification, but almost always data is not enough for evaluation. Therefore, first, the developer (or software development company) should specify the details.
After the initial conversation, a developer should make the list of functions, evaluate the importance of each of them with the client and make some sort of product/project roadmap. This work usually is a part of the initial phase and we do it for free because it's very important - any mistake or misunderstanding in this phase and the whole project can be failed. The cost can be changed - and its ok, because in this phase we can only give some raw mobile app development estimates (notwithstanding that we try to dive deep into the details of the project).
If the project is too large, complex or unpredictable, you can not just take it and evaluate - it should be immediately reported to the client. In this case, a paid research phase will be required, because as we said previously its very important. Of course, some small technical detail can be covered later, but all global business features and possible issues should be listed and discussed right away. But this is a topic for a separate article.
Having studied the input data, the scope of work should be divided into blocks and each of them should be evaluated. If there are many functions and the project is large-scale, we usually suggest to select the main ones and start with MVP (the base version). So you will quickly release the product to check product-market fit and collect user feedback. Later all other features can be developed and improved step by step - just believe us, that's cheaper.
When the requirement for the basic version is listed, discussed and evaluated, we connect a suitable specialist. For example, let's take a request to develop a banking application. In such apps, there will be a personal office, information about cards, transfers, ATMs. We choose the one who already sawed these features, knows the roadblocks and understand the industry - that let you pay more now, but way less in the future.
To speed up the assessment, development company usually has a list of standard functions with the set labor development costs. These numbers are not a shot in the dark, but the result of experience and real projects (usually).
We consider the integration separately. The same mobile bank works in conjunction with an online bank, CRM-system, online chat. For evaluation, the mobile developer will ask for a help from the backend developer to choose the best method of integration.
After you receive all development estimations (time and money) and you ok with them, we (or any other development company you choose) form the team and specify when it is possible to start work. Development costs are counted in hours and multiplied by the hour rate. Based on the load and the same hours are determined approximate dates.
A study by the Standish Group agency showed that only 3% of large projects and about half of small projects are going according to plan. How so?!
Do developers not know how to evaluate?
Usually, they evaluate the ideal scenario and the information you provided. Unfortunately, neither you nor your mobile app developers don't know all the details or nuances of your future product that may arise in the future. And of course, there will always be unpredictable Gods Will!
In fact, it turns out that the server suddenly has fallen, the developer is sick and you need to connect a new one to the project. The time evaluation grows from X hours to X + Y, as well as the cost of the whole project. Who would like this?
And then you decide to add 2 functions. But they were not evaluated, it is necessary to recalculate. And sure, according to Murphy's law, these two new features are impossible to implement with the existing one due to the specifics of the application architecture.
Of course, the reasons are different, but the fact is that unforeseen situations arise in 97% of the projects.
Despite all of the above, you: