Each time a new client reaches out to our mobile development agency we face a specific dilemma. On one hand, we genuinely want them to be happy. On the other hand, many customers want to hear the total project cost on the very first call.
At the same time, we learned years ago that any estimate provided before studying the technical requirements is just spun out of thin air.
So, when talking to a new client about the budget on the very first call we don’t make any estimates. Because the estimated cost can rise during the project evolution, and that usually makes the customer unhappy and unsatisfied down the line.
Why Do Initial Budgets Happen To Be Wrong?
We believe that precise estimates are those which don’t change by more than 10% in the course of project development. So the answer to the question of “how much” on the first stage of discussions with the client represents a bad model approach to the challenge.
How the Cost Can Chamge During the Project Development
A lot of factors influence the cost. A new client, who has never built digital products, might not know about them. So the EGO mobile app agency’s main goal is to explain to them how this business works, and apart from this, understand our client’s business as deeply as possible, decide on the objectives of the project and suggest the most effective ways of its realization.
But even after that we still cannot provide project cost estimates. Sometimes we have gaps in the concept of the project. In other cases, we don’t have finalized technical specifications, or the client might want to change or shift their goals. Often, multiple questions demanding deeper research remain unanswered — a case too common when it comes to startups.
The bad news is that we can never estimate the whole list of works to be done well enough. But the good news is that if we stick to the phased approach, we can always estimate how much it takes to make every step and how much time we need for it.
Moving from one phase to another, we can gradually specify the cost of the whole project. And this is actually the best approach in software development as each complete phase can give answers for the further ones.
That’s why we start each project with an MVP (minimum viable product) stage during which we can create a successful long-term strategy. By the way, we already got this term covered in our post Key advantages why to start new app development with MVP, you should check it out as well.
The client’s desire to get precise estimates at the start of the project brings unreasonable risks.
Any web and app developer who is asked to estimate a project never has enough information to give exact answers. It means that we shouldn’t wait for truth from them anyway, as they either give estimates that include all possible and all impossible risks (in this way the budget may be too much inflated) or such estimates will not include risks at all, in which case such estimates won’t protect the client from false expectations.
Here’s what affects the initial estimates later on:
- some features might initially seem very easy to implement, and then they suddenly appear to require a lot of painstaking work
- some outer world changes (release of a new OS, a new device, or updates of tools and technologies utilized on the project) might affect the technical requirements of the desired product
- In the case of startups, the concept of the product may change and require significant modifications of both functionality and design
Such issues may happen or may not, and it’s impossible to foresee all of them. But our mission is to try to inform the client about them and be loss-free about our plans as much as possible.
How EGO Does It
At EGO Creative Innovations, the process of building a digital product in split into seven phases, and each phase can be estimated separately:
- Kickoff: During the first call with the client, we’re getting acquainted with the idea of a project. Our manager can discuss approximate low and high ends of similar project costs.
- Data gathering: This step includes detailed discussions of technical requirements and business processes planning. Since we provide business analysis services as well, we can collect all available data that can help us create a project plan: from research about competitor apps to the dates of some conferences/presentations where the client might want to promote their product. Also at this stage, the team needs to get the vision of business requirements and goals of the product.
- Technical specifications: From business goals to technical peculiarities. This stage becomes available for discussions only once the development team gets involved in all business processes within their areas of responsibility and in all technical pitfalls of project features.
- UI/UX development: often our clients want to start a project by discussing the design, which is not correct from the project management standpoint. At first, we need to make a research of the market and decide what we need to target for: in the case of mobile development, we need to choose a mobile platform: iOS or Android (and of course we detailed this in the requirements document). Only after, the whole team (managers, developers, designers, and QA testers) and a client is on the same page about the features, and we can start to create wireframes and designs.
- Coding: Once we have the design, let’s start coding! Only after designs are written in black and white and approved by a client, we get over to the development and testing of functionality. At this stage, we already can be super precise about estimating time and costs.
- App publishing. This is the most predictable stage, but of course, let’s remember about such risks as waiting for the review in the case of the App Store, the process we can’t influence anyhow.
Additional works on the project. If we get new requirements for additional feature blocks, we sign a new paper with the client, and this procedure gets back to step 1 and so on, from discussions and business cost analysis to app markets releases.
Step-by-step product creation is the best approach to use in software development. It allows us to anticipate risks and prevent budget overflows by clear pre-planning and informing a client about issues we’re coming across with. And as a result, when all objectives, deadlines, deliverables are maintained, this is meat and drink to us when we see a happy and satisfied client with a product that serves the best for people.