Bottlenecks and Constraints
Every system has a bottleneck—the limiting factor that constrains overall performance. Optimizing anything except the bottleneck is wasted effort. Find the constraint, and you find the leverage point.
A chain is only as strong as its weakest link. A production line is only as fast as its slowest station. A project is only as quick as its longest dependency.
This is the Theory of Constraints: system throughput is limited by one (or very few) constraints. Improve the constraint, improve the system. Improve anything else, achieve nothing.
The Structure
Bottleneck: The resource or process that limits system throughput.
Non-bottleneck: Everything else. Has excess capacity relative to the bottleneck.
Key insight: Improving a non-bottleneck doesn't improve the system. It just creates more idle capacity upstream of the bottleneck, more waiting downstream.
Finding the Bottleneck
Signs of a bottleneck:
- Work piles up before it
- Downstream processes wait for its output
- It's always at capacity while other resources idle
- Small improvements there produce large system gains
Signs of a non-bottleneck:
- Often waiting for input
- Has excess capacity
- Improvements don't improve system throughput
Examples
Software Development
Often the bottleneck is review/testing, not coding. Engineers write faster than reviewers review. Adding more engineers doesn't speed delivery—it creates more code waiting for review.
Sales Pipeline
If lead generation is fast but closing is slow, the bottleneck is closing. More leads just mean more leads that won't close. Fix closing; then worry about lead volume.
Manufacturing
If one machine processes 100 units/hour and the next processes 50, the 50/hour machine is the bottleneck. Making the 100/hour machine faster achieves nothing—just more inventory waiting.
Personal Productivity
What's actually limiting your output? Time? Energy? Attention? Information? Improving non-constraints (buying better tools when the problem is focus) wastes resources.
The Five Focusing Steps
Eliyahu Goldratt's method:
- Identify the constraint
- Exploit the constraint (maximize its utilization)
- Subordinate everything else to the constraint (non-bottlenecks serve the bottleneck)
- Elevate the constraint (add capacity)
- Repeat (when constraint moves, find the new one)
Crucially: when you fix one bottleneck, another emerges. The constraint moves. You must find it again.
Common Mistakes
Optimizing Non-Bottlenecks
Most "optimization" targets non-bottlenecks. It feels productive. Metrics improve locally. System throughput stays flat. Local optimization ≠ global optimization.
Assuming the Obvious Constraint
"We need more engineers" when the constraint is actually decision-making. "We need more marketing" when the constraint is actually product-market fit. Wrong diagnosis, wrong prescription.
Ignoring Moving Constraints
You fix one bottleneck; another appears. Organizations often keep optimizing the old bottleneck from habit, ignoring the new one.
Strategic Implications
- Before optimizing: Ask what's actually the bottleneck. Prove it.
- Resource allocation: The bottleneck deserves disproportionate attention and resources.
- Metrics: Measure bottleneck performance. Other metrics are secondary.
- Expect migration: When you fix one constraint, find the next. The game never ends.
How I Decoded This
Synthesized from: Theory of Constraints (Goldratt), operations research, systems engineering, lean manufacturing. Cross-verified: same constraint logic applies in manufacturing, software, sales, and personal productivity.
— Decoded by DECODER