The Widget Factory Problem
A value-based pricing parable
Imagine you’re building widgets for a client.
Each widget connects to a third-party API and powers a dedicated landing page.
The first one costs £5k. The second comes in at £3k because you can copy the original code, tweak it, and ship.
Pragmatic. The client is happy.
Then they mention they’d probably want more. One per new landing page as the business grows. Which changes everything.
The third widget is never really about the third widget.
Up to that point, the copy-and-tweak approach was a reasonable call.
But do it a third time and you’re not being pragmatic anymore, you’re choosing features over futures. Each widget becomes slightly harder to change, slightly more fragile, slightly more coupled to decisions you made in a hurry early on. The codebase starts to resist you.
And a factory costs money upfront.
Option one: charge £10k for the third widget, which covers building the factory properly. Every widget after that comes in at £1k. The client pays more now, less forever. The economics are transparent, and the decision sits with them.
Options two and three look identical from the client’s perspective — widget three costs £3k either way. But they’re very different positions for the engineers building it.
In option two, you build the factory anyway and absorb the cost yourself. Future widgets still get quoted at £3k, but they now cost you £1k to produce. If the landing pages keep coming, the margin compounds. If they don’t, you’ve eaten a loss on a bet that didn’t pay off.
In option three, no factory gets built. Every widget costs roughly as much to produce as the last, although this will slowly (and then, very quickly all at once) get more expensive as the complexity of maintaining spaghetti code increases.
Option two is where engineering judgment is revealed as entrepreneurial. You’re not simply estimating effort, you’re underwriting a position on the client’s roadmap. This forces you to understand, interrogate and shape that roadmap. And by the way, all of these options should be open and in discussion with the client.
The thing is, this is exactly how engineers should always be thinking. The problem is that they’re often too far removed from the economic consequences of their decisions to be able to make the trade-off calls effectively.
But just because they’re not in your face, doesn’t mean they’re not there.
Value based pricing helps us, or forces us, to confront the fact that engineering and business decisions are one and the same thing.

