From Goldratt’s The Goal: every system has one constraint that governs its total throughput. Improving any step that isn’t the constraint doesn’t increase throughput — no matter how good it feels, no matter how visible the improvement.
The method, in order:
- Identify the constraint
- Exploit it — get the most out of it before spending anywhere else
- Subordinate everything else to it
- Elevate it — invest to expand its capacity
- Repeat — the constraint moves
The discipline is in step 3, which almost nobody does: deliberately letting non-bottleneck work sit idle or slow down because optimizing it is waste. Most “continuous improvement” programs are a portfolio of step-4 investments applied to non-constraints.
In quality terms: if regression testing is the constraint, adding developers makes delivery slower (more WIP arriving at the same choke point). If one team is the constraint, that’s where dedicated capacity belongs — and the assignment should be revisited when the constraint moves, because it will.
Related:
- Small batches, fast feedback — big batches hide where the constraint is
- Measure outcomes, not activity — activity metrics reward improving non-constraints
- Conway’s Law — sometimes the constraint is a team boundary, not a team