Software development pricing: how agencies charge and which model fits you
Custom software is quoted under three different models, and each one pushes the agency to behave differently. When fixed price protects you, when time and materials becomes a trap, and who ends up owning the code.
Describe the same requirement to three software agencies and you will get three quotes built on three different logics. The gap between them is usually not “one is expensive, one is cheap” — they are assigning risk to different parties.
The model you pick determines how the agency behaves for the length of the project. Each one carries its own conflict of interest, and choosing with that in mind is worth more than negotiating the rate.
A note on scope: this is about the build fee. Servers, licences and third-party services are separate line items; which infrastructure costs what is covered in hosting and server choice.
Model 1 — Fixed price
Scope is written upfront, the price is locked. The model procurement teams ask for most often.
Where it works: On work whose scope is genuinely known. A defined integration, a known set of screens, a firm delivery date — fixed price protects you.
Conflict of interest: If the price is locked, the agency’s margin comes from spending less time. That rewards cutting in places you cannot see: tests go unwritten, error handling is skipped, “we’ll look at it later” becomes the answer. Anything outside scope comes back as a change order, and the relationship slowly turns into a negotiation.
How to balance it: Ask for a fixed price after a discovery phase, not before. A fixed price quoted without a written scope means the agency has priced its uncertainty as a risk premium — and you pay that premium. Buy discovery as a separate, small engagement; its output is the scope document, and the fixed price quoted against that document is the one worth having.
Model 2 — Time and materials
You are billed for time spent, against a daily or hourly rate.
Where it works: When scope cannot be written upfront — changes to an existing system, integrations that need investigation, the early stage where the product is still finding its market.
Conflict of interest: The most obvious one. The agency earns more the longer the work runs. There is no reward for finishing early; if anything the incentive points the other way.
How to balance it: Three clauses are enough. A budget ceiling that needs written approval to exceed, a two-week delivery rhythm (a working build at the end of every cycle, not a status report), and rates broken out by seniority. That last one matters — with a single blended day rate you cannot tell whether your work went to a junior or an architect.
Model 3 — Dedicated team
A fixed monthly fee reserves a given capacity. Common for products with an ongoing roadmap.
Where it works: When the software is a product rather than a project. You own the roadmap; you are renting capacity.
Conflict of interest: The fee is tied to capacity, not to output. The invoice is identical whether the month produced a lot or very little. Without strong visibility, this model gets expensive quietly.
How to balance it: Written scope at the start of the month, a working build at the end of it. Talk about what shipped, not about capacity reserved. Name the people and their allocation in the contract — “two people” can just as easily mean two people who look at it three days a month.
The line items that do not appear in the quote
If these are not in the quote, they will show up later:
- Discovery and scoping. If it is free, it is either shallow or already hidden in the price.
- Warranty on defects. How many days after delivery, and covering what?
- Deployment pipeline and environments. Staging, production, a rollback procedure. These are part of a CI/CD setup — a one-off cost, but not a free one.
- Handover and documentation. What exactly do you receive if the work moves to another team?
- Maintenance. Security updates, dependency upgrades, backup verification. A small monthly line; ignored for a year, it becomes a large one.
The clause that matters more than the price
This one outranks the rate.
Whose account holds the repository? Whose name is on the server and the domain? Do the third-party accounts — payments, email, SMS — belong to you or to the agency?
If the answer is “the agency”, negotiating the price is pointless: your exit cost is unbounded. The day you want to switch, you start over — and because they know that, terms move in their favour at every renewal.
The correct setup is simple: everything is opened in your name, and the agency is granted access. The day you part ways, access is revoked and the assets stay where they are. Putting that in the contract is a one-sentence job and it is your only real protection.
Roughly what to expect
Absolute figures are not worth much — two projects described in the same sentence can differ tenfold. These ratios, though, hold up:
- Discovery typically runs 5–10% of total project cost. Skipping it makes the other 90% blind.
- Testing and deployment infrastructure takes 15–25% of build time. If it is missing from the quote, it is either not being done or it is hidden.
- First-year maintenance is budgeted at roughly 15–20% of the build cost.
Those ratios give you a frame for comparing quotes. A quote with no discovery, no testing and no maintenance is not cheaper than the others — it is incomplete.
The second question to ask alongside price is the timeline; how long a project actually takes is covered in its own article.
Who you take the quote from also changes the figure: the total cost of an agency, a freelancer and an in-house team is not made of the same items.
If your scope is clear, see our software development service; if it is not, ask for a scoping call. What to ask when choosing an agency is covered separately.