Developing custom software is a costly undertaking. We know this from experience, you may know it from research, word-of-mouth or plain common sense. Two main pricing models – Time and Materials or Fixed-price are used in the vast majority of software development projects. I compare the two in my article Fixed-price vs Time&Material. This time, I’d like to take on the subject of your budget.
I hope that this read will show you that establishing a budget and informing the developer about it is in the best interest of your project.
The main thing
If the developer knows both what your requirements and budget are they can estimate the project based on realistic foundations.
First of all, they will be able to assess if your budget is sufficient to create your app at all. Secondly – projects are estimated in hours of developers work. The hourly rates depend on specialization and the proficiency level of a particular team member. If your app developer knows the sum they can operate within, they can pick suitable specialist with adequate skillset for the task.
Just the plan
Once a list of requirements is established (see how to fill a mobile software brief), the developer can start to estimate. They know now what you need, but not how much you are prepared to spend on it. Without information on the budget, what they have are basically these options:
- Estimate the best possible solution – Native, High Quality, top performance, fully custom development, thorough QA.
This will be the most expensive option and most likely outside your planned budget.
- Estimate the cheapest solution – Low Quality, low performance, ready-made solutions, QA restricted to main functionalities, paid licenses (meaning you will be paying a monthly fee for some of your app’s functionalities to 3rd party vendors like Google).
This option will leave you with an attractive looking estimate, but the maintenance costs of the resulting product can easily spiral out of control and the product itself will not satisfy you or your users.
- Estimate a reasonable solution – a blend of the above two that could result in a fairly good product, but leaving the prioritizing and choices of certain solutions to the discretion of the developer and not much room for your adjustments.
This is your best case scenario. Unfortunately, it doesn’t happen often and leaves a lot of unanswered questions and possible issues.
- Give a bad/inadequate/inaccurate/unreasonable/deceptive estimate – this is where the developer will try all the tricks in the book to win your business. The easiest way to recognize something’s fishy is when the estimate differs significantly from other developers’ offers. Eg. when most developers say your project will take around 800 work hours, then someone telling you it will take 600 or less is most likely wrong.
This is your worst case scenario – your estimate might look super attractive, but once agreed, all hell will break loose. We’ve seen estimates of projects where the difference in estimated costs was up to 1000% between vendors.
If we don’t know…
Without knowing what your budget is, the developer is left with estimating the cost of your project based solely on your requirements. Each of these can be satisfied in several ways, and each of these ways will have a different impact on the price.
If we do know
On the other hand, if they do know the sum you’re prepared to part with, the estimation can be realistic and accurate. Knowing the upper limit of your investment and the priorities of the project, your app developer can estimate to give you the best possible solution available for the price.
This is why “What is your budget?” is a question you will hear from pretty much all the developers you contact. It’s both the most reasonable and most useful question to ask when it comes to software development.
It makes a real difference
To give you an idea of some of the variables developers take into account when estimating a project, here’s a list of approaches to creating your app:
- Speed – we can develop fast or slow,
- Quality – we can develop high or low quality,
- Platform – iOS, Android, Web or all of them,
- Technologies – native, cross-platform, PWA,
- Solutions – ready-made, custom made, licensed, open source, cloud,
- MVP or full development,
- System versions compatibility – old and new Android versions, variety of devices etc..
All the above are just a fraction of a huge variety of factors that influence the cost of app development.
They know that you know
If you are serious about your project, then you already have a sum in mind. What you may worry about now is that as soon as you tell the developer what it is, they will either say “Sure, that’s exactly how much it is going to cost” or “That won’t be enough”
This is not the case. Mobile app development is a very diverse business. Technologies, solutions, languages vary from vendor to vendor. Each of the estimates you will receive will offer solutions at the disposal of particular developer.
As much as the skillset and available technologies vary among comapnies, the development time (in work-hours) is usually within similar range.
What’s in it for you?
The main advantages of having a budget defined before estimation boil down to these:
- You save developer’s time – they know from the start what your limits are,
- You will know straight away if your budget is sufficient,
- The vendor will be able to focus on proposing solutions adjusted to your business goals and budgetary requirements,
- The vendor will be able to estimate the process and schedule for your project according to realistic,
- If your budget is insufficient, the vendor will be able to offer alternative solutions (using ready-made solutions, cheaper technologies or licensed services) to take your project off the ground.
The bottom line
Your budget will determine the solutions, technologies and templates for your developer to use, as well as the production process, the quality of the process and the time of delivery of your software. Without knowing the figure, the contractor will not be able to make a sensible offer for their services.
Learn more about developing your own app – contact us!