How we work
Fixed price, fixed outcome
The number is agreed before the work starts, against an outcome we have both written down. If we sized it wrong, that is ours to absorb.
We do not sell hours. Selling hours makes our efficiency a cost to you, which is exactly the wrong alignment for a team you are paying to be good.
Instead we scope the work to an outcome, write that outcome down, and quote against it.
What has to be true before we can quote
- The outcome is written down in a form you can test. "The migration is complete when these five services run on the new platform with the old one switched off" — not "the migration is improved".
- The boundaries are known: what is in scope, what is explicitly not, and what we will do if we find something underneath.
- Someone on your side can answer questions within a day. Waiting is the most common way fixed-price work stretches, and it stretches in your time, not ours.
When we size it wrong
That happens. If the written-down outcome takes materially longer than we quoted, we absorb it — the number does not move. What does move is the conversation: we tell you early, show you what we found, and we decide together whether the outcome changes.
An early conversation about a wrong estimate is a sign the process is working. A surprise invoice at the end is not.
What is genuinely not fixed
Unknowns we could not have seen — a third-party API that turns out to be different from its documentation, a data migration over data nobody had profiled. For those we agree a small, capped allowance up front, or we stop and re-quote the specific piece. What we never do is discover them on the invoice.
Why it holds
Because the scope is a document, not a feeling. When something new comes up, we can point at the line and either say "that is in, we will do it" or "that is new — here is what it costs". Nobody has to negotiate from vague memory about what was meant.
More notes
Read the rest
No newsletter and no automated follow-up. If we write again, it is because you asked us to.