Fixed-price engagements were always a bet that the scope was well enough understood to price confidently. That bet's shape has changed now that implementation speed on well-specified work is faster and more variable than it used to be.
What used to be the main risk
Historically, the main risk in a fixed-price quote was scope ambiguity turning into unplanned implementation hours. Careful scoping addressed most of it, and the remaining risk was roughly proportional to how much of the requirement was genuinely novel versus conventional.
What has changed
Well-specified, conventional work now often takes noticeably less implementation time than it used to, which is good for margin on that portion but has shifted the proportion of total project cost towards the parts that were always slower regardless of tooling: discovery, specification, review, testing and client coordination. A fixed price built on old cost ratios overcharges for implementation and, worse, can still under-price the parts that did not get faster.
What we changed in how we price
- We price specification and review as their own line, at their own rate, rather than folding them into a blended hourly figure that assumed a fixed ratio to implementation time.
- We scope more tightly around what is "conventional" versus "novel" within a single project, because the two now have meaningfully different cost profiles rather than a similar one, and treating them the same under-prices the novel parts.
- We build in an explicit review and correction allowance for any AI-assisted implementation, rather than assuming generated code reaching a branch is equivalent to done, because the gap between those two states is where an under-scoped fixed price actually gets exposed.
A fixed price is a bet on your own cost structure as much as on the client's requirements. Ours changed, so the bet had to be repriced, not just re-estimated.
What we tell clients about this
That parts of their project may well come in faster than a similar project would have two years ago, and that this is not the same as the whole project being cheaper, because the parts that did not get faster — understanding what to build, checking it is right, making sure it survives contact with real users — are now a larger share of the bill than they used to be, not a smaller one.
Where this has landed so far
Margins on well-specified, conventional fixed-price work have improved. Margins on ambiguous or unusually specified fixed-price work have not moved much, and pricing them as if they had was the mistake we made once, early, before adjusting.
