The dominant factor is rarely technology — it is uncertainty. Every open question in the brief is converted into padding somewhere in the quote. A supplier that cannot see the edge cases has to assume a pessimistic case. Putting two weeks into a discovery phase often reduces the overall figure far more than negotiating the rate.
Connections to other systems remain another reliable source of cost. A form that saves data is low risk; the same feature wired into a payment provider and a CRM is another matter entirely. The unknown hides 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, as this is where estimates break.
Quality attributes can easily double the number. An internal tool used by a handful of staff has almost nothing in common with the same idea handling thousands of external customers. Audit and compliance requirements, uptime targets, performance under load, traceability and localisation each add real engineering time. Write them down at the start or expect the estimate to move later.
The team you are quoted matters. A rate card says little on its own: an experienced engineer at a higher rate frequently turns out to be cheaper overall than a pair of junior developers who require heavy code audit services review. Check too which roles are billed: project management, quality assurance, release engineering and hire grpc expert UX design are legitimate costs, but they should be visible in the estimate.
The number in the proposal is never what you will actually spend. Plan for infrastructure, subscriptions and licences, monitoring and llm application development a change budget for every year the software runs. A useful planning figure holds that software in active use requires a recurring percentage of the original budget every year simply to stay current. Leaving it out of the budget is the classic mistake.
There are no comments