What you are actually buying
Software estimates are wrong in one direction. Nobody has ever discovered halfway through a project that the work was simpler than described. So the real question in front of a buyer is not which structure is cheaper — it is who pays when the work turns out to be larger than the sentence that described it. A fixed price says the vendor pays. Time and materials says you pay. Everything else in this article is a consequence of that one sentence.
Both answers are legitimate. Neither is free. When a vendor absorbs the risk, they price it, and you pay for that insurance whether or not you end up needing it. When you absorb the risk, you keep the money you did not spend and you take on a job: watching the work closely enough to know whether it is going well. Buyers who choose time and materials and then do not staff that job get the worst of both, and it is the single most common way these engagements end badly.

What follows is written from the delivery side, including the parts that are not flattering to a vendor. A fixed price makes us behave in specific ways, and you should know what they are before you insist on one.
You are probably here because
- Finance wants a fixed number and the work is not describable yet
- The last time-and-materials engagement ran 60 percent over and nobody saw it coming
- Two bids came back, one fixed and one hourly, and they are not comparable
- A vendor keeps calling things change orders that you thought were in scope
The clarity test below tells you which structure the work can support. The hybrid section is what to do when the answer is “neither, yet.”
What a fixed price costs you
Four things, and only the first appears in the contract.
The contingency. Any competent vendor prices a fixed bid at their honest estimate plus a buffer, because a fixed price is a bet and they intend to survive losing some of them. On well-described work the buffer runs 15 to 25 percent. On vaguely described work it runs 30 to 50, and on work where the vendor suspects the data is worse than described it runs higher or the vendor declines to bid. You pay that buffer in full even in the happy case where the work goes exactly to plan. That is not a vendor being greedy; it is the price of the insurance you asked for.
The incentive to build the minimum that passes. This is the honest one. Under a fixed price, every hour spent making something better than the acceptance criteria costs the vendor money and earns them nothing. So the work converges on the acceptance criteria exactly. If your criteria say "extracts the invoice total," you will get something that extracts the invoice total and nothing sensible when the page is a credit note. That is not bad faith. It is what the structure pays for, which is why weak acceptance criteria are far more damaging under a fixed price than under time and materials.
The change-order relationship. Once the price is fixed, every conversation about scope becomes a negotiation, because it now moves money. Small clarifications that would have taken ten minutes turn into emails with the word "scope" in them. Buyers frequently underestimate how much this dampens the flow of information: your team learns that mentioning something new causes friction, so they stop mentioning things.
Change orders priced without competition. The original bid was competitive. The change order is not, because you are not going to run a procurement to add a field. Expect change-order rates to sit above the effective rate in the base bid, and negotiate the change-order rate at the same time as the base price, while other bidders are still in the room.
What time and materials costs you
Also four things, and the first one is the reason buyers fear the structure.
No natural stopping point. A fixed price ends when the deliverable is accepted. An hourly engagement ends when someone decides to end it, and deciding to end things is difficult when progress is real but slow. Without a cap and a defined finish, these engagements drift — not through anyone's bad intent, but because there is always one more improvement and no mechanism that says stop.
A governance job you have to staff. Somebody on your side has to read the weekly summary, look at what shipped, and be able to say whether the burn matches the progress. That is a few hours a week from a person who understands the work. If nobody has that job, you are not managing a project, you are paying invoices.
Rate visibility without effort visibility. You can see exactly what an hour costs and nothing about how many hours the task should take. A $150 hour from a fast engineer is cheaper than a $95 hour from a slow one and the invoice cannot tell you which you have. This is why references and a small paid trial are worth more than a rate card.
Budget conversations you have to keep having. Finance will ask for a number quarterly, and "it depends on what we find" is a true answer that does not survive a budget meeting. A not-to-exceed ceiling fixes this and costs you nothing.
Who carries which risk — by structure
Roughly how much of a schedule or effort overrun each structure puts on the seller. Our characterization, not a measurement — the point is that the middle three exist and are usually where the answer is.
The one variable that decides: how well can this be described?
Ignore preference and ask a factual question about the work itself. Can it be described precisely enough, today, that two competent engineers reading the description would build the same thing and agree on whether it was done? If yes, take a fixed price. If no, a fixed price is not a price, it is a fiction with a number on it, and the argument about what it covers is scheduled for month three.
| How well the work is described | What that looks like | Structure that fits |
|---|---|---|
| Fully specified | Screens designed, data in a known schema, acceptance criteria written and testable | Fixed price, milestone-billed |
| Specified outcome, unknown route | You know the result you need; nobody has looked at the data yet | Fixed-price discovery, then a capped build |
| Known problem, undefined outcome | “Reduce the time this team spends on claims” with no target and no baseline | Capped T&M with a decision point |
| Research question | Nobody knows whether it can be done at the accuracy required | Capped T&M with a stated kill criterion |
| Ongoing capacity | A backlog that keeps changing, no fixed endpoint | T&M with a monthly ceiling |
| Maintenance of something live | Fixing and patching an existing system | Retainer with a defined response commitment |
Notice that the middle rows are most projects. Fully specified work is rarer than procurement processes assume, and the request for a fixed price usually arrives before anyone has done the work that would make one possible.
The hybrid that fits most software work
Buy the clarity first, at a fixed price, then buy the build against the clarity you now have.
Phase one is a fixed-price discovery. Two to four weeks, typically 5 to 12 percent of the anticipated project value, with concrete deliverables: a look at the real data, a written scope, an architecture note, acceptance criteria, a risk list, and a build estimate with a stated range. Because it is fixed and small, it is easy to approve and easy to compare across vendors.
Phase two is a capped build. With phase one done, the vendor can either quote a fixed price with a much smaller contingency, or offer time and materials with a not-to-exceed. Either is now honest, because both are based on something someone actually looked at.
The exit between them is the point. After phase one you can walk away, take the written scope to a different vendor, or stop entirely because the discovery showed the project is not worth doing. That option is worth more than the fee, and it is the reason this structure survives contact with finance: it converts an unbounded commitment into a small, decidable one.
Insist that discovery deliverables are yours, in a portable form
The scope, the criteria, the architecture note and the estimate should be documents you own outright and can hand to anyone. A discovery whose output is a proposal for the same vendor's next phase is a sales process you paid for. Say in the discovery agreement that the work product is yours and may be given to other bidders. A vendor confident in their build price will not object, and one who does has told you what the discovery was for.
Reading a fixed bid that looks too cheap
When bids differ by two or three times for the same paragraph, the cheap one is usually not more efficient. It is usually solving a smaller problem, and the difference will surface as change orders. Four questions separate a genuinely lean bid from an incomplete one.
What did you assume about the data? The single largest source of overrun in data-touching software is discovering that the records are messier than described. A bid with no stated data assumption has not thought about it, and you will fund the discovery either way.
Show me the acceptance criteria you are pricing against. If the vendor cannot state, in a sentence, what test the delivered software has to pass, then neither of you knows what is being bought.
What is explicitly excluded? A good fixed bid has an exclusions list, and a long one is a sign of thought, not of stinginess. No exclusions list means the argument is deferred to delivery.
What happens after acceptance? Ask for the price of the first year of support in the same document. Cheap builds and expensive support are a known pairing, and you want both numbers before you choose.
What actually predicts whether the engagement goes well
Our ranking of what moves the outcome. Note the last row: structure matters less than the four items above it, and a lot of buyer attention goes to the row that matters least.
That last row is the uncomfortable finding of this whole subject. Fixed-price projects with vague criteria fail. Time-and-materials projects with clear criteria and an attentive buyer succeed. The structure is a distant fifth in importance, and it absorbs most of the negotiating energy because it is the part with a number attached.
Send the statement of work and we will tell you if it can carry a fixed price.
Email the scope and any bids you have received to contact@precisionfederal.com. You get back a short written note saying whether the work is described well enough to fix a price against, which assumptions are doing the most load-bearing work, and what we would change in the acceptance criteria. One business day, no charge, no meeting.
contact@precisionfederal.comCaps, collars and what they really do
Between the two pure structures sit several arrangements that carry most of the practical benefit.
Not-to-exceed. Hourly billing with a hard ceiling. You pay only for hours worked and cannot be surprised. The vendor prices a smaller contingency than a fixed bid because they still bill actuals up to the cap. This is the workhorse and it should be your default when scope is imperfect.
Milestone billing on top of hourly. Invoices land when something demonstrable exists, not when a month ends. It keeps the flexibility of hourly and restores the rhythm of fixed-price delivery, which is what most buyers actually miss.
A shared-savings or shared-overrun collar. Above the estimate, cost is split; below it, savings are split. It aligns incentives well and requires enough trust to agree on what the baseline was. Reserve it for a vendor you have worked with before.
Capacity by the month. A fixed monthly fee for a defined team, with a backlog you control and a notice period. Simple, predictable, and the right answer for continuing work rather than a project.
What none of these fix is an undefined outcome. A cap limits your loss; it does not tell you whether the thing being built is the thing you needed.
Three clauses that matter more than the structure
Whatever you sign, these decide how it ends.
Change control. Write down who can approve a change, in what form, and how fast. A one-page change note with a price and a schedule impact, approved by email by a named person within two business days, prevents most disputes. Without it, changes happen verbally and get billed later, or do not happen at all and get blamed later.
Acceptance. Define what acceptance means, who does it, how long they have, and what happens if they say nothing. Deemed acceptance after a stated review window is normal and fair to both sides. An undefined acceptance step is how a finished project stays unfinished for two months.
Exit and ownership. Who owns the code, what happens to it if the engagement stops early, where the repository lives, and what handover is owed. Get this right and a bad engagement costs you money. Get it wrong and a bad engagement costs you the work.
Where these engagements go wrong
- A fixed price on work nobody has scoped, which is a fiction with a number on it
- Comparing an hourly bid to a fixed bid without converting both to a total at the same scope
- Acceptance criteria written after the contract, by which point they are a negotiation
- Time and materials with nobody assigned to watch it, so the first signal is an invoice
- Change-order rates left unnegotiated until the moment the other bidders are gone
- Choosing the cheapest fixed bid without asking what it assumed about the data
- No exit between discovery and build, so a small commitment silently became a large one
- Milestones that are dates rather than demonstrations, which measure nothing
Before you sign
- The acceptance test is written, testable, and agreed by both sides
- Someone has looked at the real data, and the assumptions about it are in writing
- The bid has an exclusions list
- Change-order rates and the approval path are agreed now, not later
- Every milestone has something you can open, run or read
- There is a ceiling, or a fixed price, or a defined stopping point
- Acceptance has an owner and a review window with a default
- Ownership, repository location and handover are specified
- The first year of support is priced in the same document
Bottom line
Take a fixed price when the work is genuinely described and you are willing to pay 15 to 25 percent for certainty, and then write acceptance criteria good enough to deserve it. Take time and materials with a ceiling when it is not, and staff the few hours a week that makes the structure safe. When you cannot honestly say which, buy the clarity first: a small fixed-price discovery with portable deliverables and a real exit, then decide with information instead of hope. And keep the proportion right — a well-specified engagement with clear acceptance criteria and an attentive buyer goes well under either structure, and a vague one goes badly under both.
Frequently asked questions
On average, yes, because it includes a contingency you pay whether or not the risk materializes — typically 15 to 25 percent on well-described work and considerably more on vague work. What you buy for that premium is certainty and a single number for finance. In the cases where the work turns out much harder than expected, the fixed price is the cheaper choice, which is exactly the insurance you paid for.
Convert both to a total against the same written scope. Ask the hourly bidder for an estimate in hours by workstream and a not-to-exceed; ask the fixed bidder for their exclusions list and data assumptions. Then compare totals, not rates. An hourly bid that will not give an estimate and a fixed bid with no exclusions are both telling you the work has not been thought through.
Two to four weeks and roughly 5 to 12 percent of the expected project value, delivered at a fixed price. It should produce a written scope, acceptance criteria, an architecture note, a risk list, and a build estimate with a stated range — all owned by you and portable to another vendor. If the only deliverable is a proposal for the same vendor's next phase, you funded a sales process.
A not-to-exceed ceiling, milestones tied to something demonstrable rather than to dates, a weekly summary that names what shipped and what is next, and one person on your side whose job is to read it. Add a scheduled decision point at roughly a third of the budget where continuing is an explicit choice rather than the default.
Go to the written scope and the acceptance criteria and read them literally rather than as you remember them. If the item is genuinely absent, it is a change and arguing costs more than it saves. If it is present, say which sentence covers it. Either way, this is the moment to put a short change process in place if there is not one, because the disagreement will recur.
