Journal
Pricing / ProcessApril 9, 20261 min read

Output-based pricing, six months in

We charge per shipped feature, not per hour. Here is what that actually did to our incentives.

By Saurav Kumar Nanda

Holdfast charges a fixed 14,000 dollars for a shipped sprint. Not an estimate, not a range, not "14,000 dollars plus change orders." The number in the contract is the number. Six months in, here is what that pricing did.

It made our interests line up with yours

Under hourly billing, every problem we hit is billable. A tricky bug is revenue. A slow week is revenue. The agency that bills hours has a quiet financial reason to want the work to take longer. You feel that, even when nobody says it.

Under fixed output pricing, a tricky bug is our cost. Speed is our margin. We want the sprint done well and done early for exactly the same reason you do. That alignment is not a value we put on a wall. It is arithmetic.

Hourly billing pays the agency to be slow. We removed the option so nobody has to trust us about it.

It punished bad scoping, hard

When the price is fixed, a scoping mistake comes straight out of our margin. So we got serious about day 0. We write a real spec, we say no to vague briefs, and we have walked away from sprints we could not scope cleanly. Fixed pricing did not make us cautious. It made us honest on day 0, because day 0 is the only cheap day to be honest.

It made the AI savings yours

Because the price is an output, not an input, the time our tooling saves does not disappear into a smaller invoice we then pad back up. It shows up as a price we can hold flat and a deadline we can keep short. You get the savings as certainty.

Six months in, the refund rate is zero and the model holds. The hard part was never the pricing page. It was the discipline on day 0 that the pricing page forces.

Holdfast Journal · Saurav Kumar Nanda

Get the next one.

One argument about shipping software, once a month. No listicles, no more than one email.