Insights

How much does custom software development cost?

10 min read

Price ranges published online are close to useless without context. What matters is which variables move the number β€” and how to read a quote so you are comparing the same thing across suppliers.

Every article on this subject eventually prints a table of price bands. The ranges are wide enough to be true of almost any project, which is exactly why they tell you nothing about yours. A more useful question is which variables actually move the number, because once you can see those, you can both plan sensibly and read a quote critically.

What genuinely drives cost

The number of distinct workflows

Not features β€” workflows. A system where five roles each follow a different path through the same data is substantially more work than one where everyone does the same thing with more options. Every role multiplies the permission logic, the interface states and the testing. When scoping, count the distinct journeys rather than the screens.

Integrations with systems you do not control

This is the most consistently underestimated item in the field. Connecting to an accounting package, a carrier or a payment provider is rarely the advertised afternoon. The documentation will be incomplete, the sandbox will behave differently from production, rate limits will appear under real load, and you will need to handle partial failure so a timeout does not duplicate an order. Budget two to three times what the integration appears to need.

Data migration

If existing data must come across, its quality decides the cost. Fifteen years of records with inconsistent formats, duplicates and free-text fields where a code was expected will take longer to migrate cleanly than the new system takes to build. This is worth investigating before anyone quotes, not after.

How certain the requirements are

A documented process with agreed rules is a straightforward estimate. 'We will know it when we see it' is not an estimate, and any fixed price attached to it contains a large contingency β€” which you pay whether or not it is needed. Reducing uncertainty before quoting is the single most effective way to reduce cost.

Compliance and regulatory requirements

Handling health data, payment details or regulated financial information adds audit trails, encryption requirements, retention rules, access controls and frequently an external assessment. It is not a percentage uplift; it is additional work with its own timeline.

Why two quotes for one brief differ so widely

  • They scoped differently. One included data migration, training and three months of post-launch support; the other quoted the build alone. This explains most large gaps.
  • Different delivery model. An offshore team at a lower day rate against a local team at a higher one β€” the comparison worth making is total cost including the management overhead, not the rate.
  • One is quoting what you asked for and the other what you need. A higher quote occasionally reflects a supplier who has spotted a requirement you did not state.
  • Different contingency. A fixed price carries risk, and the supplier prices that risk. A vague brief produces a bigger buffer.
  • One intends to win on price and recover on change requests. This is common enough to watch for: check what the contract says happens when scope changes.

Pricing models, and what each one does to you

ModelWorks well whenThe risk you carry
Fixed priceScope is genuinely well definedChange is expensive; supplier may cut quality to protect margin
Time and materialsScope will evolve, and you can steer weeklyCosts are open-ended without active management
Fixed price per phaseMost business software projectsRequires discipline to hold scope within a phase
Dedicated teamOngoing development over quartersYou are effectively managing the team, so you need capacity to do it

Fixed price per phase is the arrangement we use most, because it gives you a firm number for a defined piece of work and a genuine decision point at each boundary β€” including the decision to stop. A single fixed price for an entire programme sounds safer and generally is not: it forces both parties to negotiate every change against a contract rather than against the goal.

How we arrive at a figure

We do not publish a price list, because a number produced before anyone has read your requirements is a guess wearing the clothes of a quote. The sequence we follow instead is deliberately slow at the start:

  1. We gather the requirements β€” what the system has to do, who uses it, which existing tools it has to work with, and what has to be true for the first release to be worth having.
  2. We establish the scope from that and write it down, including what is deliberately excluded and what is deferred to a later phase. Agreeing the exclusions matters as much as agreeing the work.
  3. We prepare an initial quote against that written scope, with the assumptions behind it stated, so you can see what the number actually depends on.
  4. We then go through the requirements and the costing with you, point by point. This is where most of the movement happens: scope gets trimmed, a requirement turns out firmer or looser than it first read, and the figure moves with it.
  5. Once the scope is settled and nothing material is outstanding, we confirm the final project cost for that phase and the work starts against it.

The cost people forget

Software is not a capital purchase that then sits still. Budget for the ongoing element from the beginning, because it arrives whether or not you planned for it.

  • Hosting and third-party services β€” typically modest, but it is monthly and permanent.
  • Security patching and dependency updates. Unmaintained dependencies become vulnerabilities, and the gap compounds: a framework two major versions behind is a project to upgrade, not a task.
  • Changes as the business changes. Any system in real use generates change requests, and that is a sign of success rather than a failure of scoping.
  • Support for the people using it, particularly in the first few months.
  • Plan for the ongoing element as a standing line in the budget rather than an occasional surprise. What it comes to depends on how much the system is used and how fast the business around it changes, so it is worth agreeing at the point the build is scoped rather than after launch.

How to reduce the cost honestly

  1. Cut scope rather than quality. A smaller system built properly beats a large one built cheaply β€” the second becomes unmaintainable and gets replaced sooner.
  2. Build one complete workflow first and put it into real use. You will discover which of your other requirements were assumptions.
  3. Document your process before requesting quotes. Suppliers price uncertainty, and you remove it more cheaply than they can.
  4. Use existing products for commodity functions. Payments, email, authentication and analytics are solved; paying to rebuild them is rarely justified.
  5. Clean your data before migration, using your own team who understand it.
  6. Be honest about what is genuinely required for the first release. 'Phase two' is a legitimate answer and usually the right one.

And be wary of the lowest quote when it is far below the others. It usually indicates the supplier has not understood the brief, which means the difference will reappear later as change requests β€” or as a system that has to be rebuilt.

This is the kind of work we do. If it is relevant to something you are planning, our custom software page covers how we approach it, or you can describe the project and we will tell you what we think.

Related questions

Is custom software cheaper than paying for SaaS licences?

Over a long enough period it can be, particularly at higher seat counts, but the comparison must include ongoing maintenance, hosting and the cost of changes β€” not just build versus licence. If a product covers your process adequately, licensing it is usually the better economics. Custom development wins when your process is genuinely a competitive advantage or when integration between systems is the real problem.

What should a discovery phase cost?

Discovery is quoted as its own piece of work, sized to the project rather than set as a share of a build nobody has scoped yet. What it produces matters more than the figure: a documented scope, a technical approach, and a firm price for the phase that follows. Paid discovery is generally a good sign β€” it means the supplier will not put a number in front of you before understanding the problem. You should own the outputs and be free to take them elsewhere.

How do I avoid the cost running away?

Fix the price per phase with an explicit written scope, agree in advance how changes are handled, insist on working software at the end of each phase rather than progress reports, and keep phases short enough that a problem surfaces in weeks rather than months.

Does offshore development actually save money?

Sometimes, and the saving is smaller than the day-rate difference suggests once you account for management overhead, time-zone friction and the cost of miscommunication on an under-specified brief. It works best with clearly documented requirements and someone on your side able to manage the relationship actively.

Working through a decision like this?

We are happy to be a second opinion, including when the answer is that you do not need us.

Get in touch