Diminishing Returns
Why doubling the workers never doubles the output — and why the fix for 'behind schedule' usually isn't 'add more people.'
2 min read
Core question: why doesn't adding more of the same input keep producing proportionally more output?
The metaphor: one cook in a kitchen, then ten
The first cook in an empty kitchen is enormously productive — every burner, every counter, every tool is theirs alone. The second cook helps meaningfully, taking over prep so the first can focus on the stove. By the fifth, they're bumping into each other, waiting for counter space, slowing each other down. Each additional cook adds less than the one before — not because later cooks are worse, but because the kitchen itself, the fixed part of the setup, hasn't grown to match them.
Every added unit of one input, holding everything else fixed, eventually adds less than the last one did. Past a certain point, adding more can even make total output worse, not just less better.
This is why "add more people" backfires on late projects
A software project running behind schedule usually doesn't get faster by adding more engineers — it gets slower. New people need ramp-up time and take it from the people already working, while the coordination overhead of a bigger team grows faster than the team's capacity does. It's the same curve as the crowded kitchen: the fixed part of the system (the codebase's shared context, the kitchen's counter space) didn't grow, so each new unit of the growing input adds less, then eventually subtracts.
Before adding another unit of anything — people, ad spend, hours — to fix a problem, ask where you currently sit on the curve: is this input still climbing, flattening, or already past the point where more makes it worse?
Why this matters
The instinct to solve a shortfall by adding more of whatever's already there is usually wrong past a certain point, and that point arrives earlier than intuition expects. The actual fix is usually to change the fixed constraint — a bigger kitchen, a smaller and better-coordinated team — not to keep pouring more of the same input into the same-sized container.