Skip to main content

Blog entry by Horace Lang

The biggest cost driver is not technology — it is how much is still undecided. Every open question in the requirements turns into a buffer in the estimate. A team that does not know the exceptions and edge cases must assume the more expensive option. Investing a few days in a proper discovery frequently cuts the final cost much more than haggling over hourly rates.

Third-party integrations are the next major multiplier. A feature that touches only your own data which is better flutter or react native predictable; the same functionality connected to a legacy ERP is another matter entirely. The cost lives in the counterparty: poor documentation, waiting on someone else's team, data that does not match your model. Ask the estimator to price integrations separately, because this is where estimates break.

Non-functional requirements silently change the number. An application used by a small internal team is a very different build from the same idea handling thousands of external customers. Security reviews, high availability, scalability, traceability and localisation add real engineering time and materials contract. Put them in the brief or you can expect them to arrive later as change requests.

The team you are quoted matters. A day rate says little on its own: an experienced engineer at a higher rate is often cheaper overall than a pair of junior developers who require constant review. Ask as well what else appears on the invoice: project management, QA, infrastructure work and analysis have to be done by someone, but these should be itemised.

The number in the proposal is not the total cost. Expect hosting, third-party licences, monitoring and a change budget annually. A useful planning figure is that software livewire in active use requires a noticeable fraction of the initial investment annually in fixes, updates and small changes. Leaving it out of the budget remains the most common budgeting mistake.