Most comparisons of fixed price and time-and-materials are written by firms that use one of them, and conclude that theirs is better. We quote fixed prices, so treat this accordingly — but the useful version of this comparison is not which model wins. It is understanding what each one is actually doing, because they are not really pricing mechanisms. They are risk transfer mechanisms.
Every software estimate is wrong. The only question a pricing model answers is which party pays for it being wrong.
What each model actually does
Under time and materials, you carry the estimate risk. If the work takes twice as long as anyone thought, you pay twice as much. The vendor is made whole either way.
Under fixed price, the vendor carries it. If the work takes twice as long, they absorb it. In exchange they price a buffer into the quote, which you pay for whether or not it is needed.
That is the entire trade, and everything else follows from it. Fixed price is more expensive on average and cheaper in the bad case. Hourly is cheaper when the estimate was good and unbounded when it was not.
How hourly goes wrong
Not through dishonesty, usually. Through the absence of any force pushing in the other direction.
- The meter runs during the learning curve. The first two weeks on an unfamiliar codebase are slow, and you pay full rate for them.
- There is no natural point at which anyone says a thing is finished. Polish is billable, and nobody has to decide it is done.
- Efficiency is not rewarded. A vendor who finds a way to do it in half the time has just halved their revenue on your project. Most will not act on that, but the incentive is pointing the wrong way for the whole engagement.
- Estimates are not commitments. "About six weeks" was a guess, and it costs nothing to be wrong about it.
- Budget conversations happen after the money is spent, which is the worst possible time to have them.
The failure signature is a project that never technically fails — it just costs three times the estimate and finishes late, and no single decision along the way looks unreasonable.
How fixed price goes wrong
Differently, and more visibly.
- You pay for the buffer even when the work goes smoothly. That premium is the price of certainty and it is real.
- Change becomes adversarial. Once a price is agreed, every alteration is a negotiation, and the reflex answer to a good idea in week six is that it is out of scope.
- The vendor optimises for the contract, not the product. Delivering what was written beats delivering what turned out to be needed.
- When it goes over, corners get cut somewhere you cannot see. Testing, error handling, and documentation are the usual casualties, because those are the parts you will not notice until later.
- A precise scope has to be written before anyone knows enough to write it, which pushes real discovery into a phase where it is expensive to act on.
The failure signature here is a project delivered on budget that does not do the thing the business actually needed by the time it landed.
When hourly is genuinely the better deal
Three cases, and we would say so on a call rather than quote you a fixed price anyway.
- 01The scope is honestly unknown. Research work, an integration with a system nobody has documentation for, anything where the first question is whether it is possible at all. A fixed price against unknown scope is not certainty — it is a large buffer, or a vendor who is about to discover they underbid and start cutting.
- 02You have someone technical who can supervise. If you can review output and hold the architecture yourself, hourly gives you flexibility without the premium, and the main risk of hourly is one you are equipped to manage.
- 03It is ongoing maintenance rather than a project. Continuous work with no defined end has nothing to fix a price against, and pretending otherwise produces a retainer with a scope argument attached.
When fixed price earns its premium
- 01The shape of the work is known. Not every detail — the shape. If your vendor has built this kind of thing repeatedly, the estimate risk they are pricing is small and the buffer is small with it.
- 02You need budget certainty more than you need flexibility. If the money is approved once and going back for more is politically expensive, an unbounded meter is the wrong instrument regardless of the average cost.
- 03You do not have someone to supervise closely. The less technical oversight you can provide, the more you want the vendor's incentives aligned with finishing rather than continuing.
The thing that matters more than either
How change is handled. It is the question people forget to ask, and it decides more outcomes than the pricing model does.
Scope will change, because you will learn things during the build that you could not have known before it. What separates a good engagement from a painful one is whether that change gets priced before the work happens or arrives on an invoice afterwards — and whether raising a change is a normal conversation or a fight.
Questions worth asking under each model
If they quote hourly
- What is your estimate, and what happens if it takes twice as long?
- Will you agree a not-to-exceed ceiling, and what happens when we approach it?
- How often do we see a burn-down against the estimate — weekly, or when we ask?
- Who is on the clock? Does time spent by a project manager on internal meetings bill to us?
If they quote fixed
- What exactly is in scope, in writing, before we sign?
- What is the change process, and how quickly can a change be priced?
- What happens if you underestimated — who absorbs it, and what gets cut?
- Is the scope defined by outcomes or by a feature list? A feature list delivered exactly can still miss the point.
Where we stand, and why
We quote fixed prices for project work, in published bands, because we build the same shapes of system repeatedly and the estimate risk on familiar work is genuinely ours to carry. It also gives us a reason to scope honestly at the start rather than optimistically, since an underestimate is our problem to absorb.
It is not universally right and we do not pretend otherwise. We bill time and materials for small change requests and ad-hoc support, and if you arrive with genuinely unknown scope we will tell you that a fixed price would be a padded guess rather than a commitment. A vendor who will quote fixed for anything, without discovery, is not offering you certainty. They are offering you a number.
Run this on us
Our price bands are published, our contract and IP terms are written down including what we are not certified for, and we will connect you with a client doing comparable work before you commit to anything.