The dominant factor is rarely the technology stack — it is unclear scope. Every open question outsourcing vs in house development the specification is converted into padding somewhere in the quote. A vendor that does not know what happens on the unhappy path will assume a pessimistic case. Spending a week on a discovery phase frequently cuts the overall figure much more than negotiating the rate.

Third-party integrations remain another reliable source of cost. A screen that writes to your own database is predictable; the same screen talking to a legacy ERP is a different problem. The effort lives in the counterparty: rate limits and sandbox access, waiting on someone else’s team, fields that mean something different on each side. Ask any vendor to price integrations separately, since that is where the numbers slip.

Quality attributes quietly rewrite the number. An internal tool used by twenty people is a very different build from the same functionality handling public traffic. Compliance work, uptime targets, scalability, traceability and accessibility each add real engineering time. State them early or expect them priced as extras.

Who actually does the work changes the arithmetic. A rate card reveals very little on its own: a senior engineer at a higher rate can be less expensive in the end than two inexperienced developers who need constant review. Ask as well what else appears on the invoice: ecommerce web development agency coordination, QA, DevOps and design are legitimate costs, but they should be itemised.

The build price is rarely the total cost. Budget custom software development for government cloud costs, third-party licences, monitoring and a change budget annually. A useful planning figure says that a live system consumes a recurring percentage of the initial investment every year in fixes, updates and small changes. Ignoring this remains the most common budgeting mistake.