The Theory of Constraints (TOC) was developed by Eliyahu Goldratt in his book "The Goal." The central idea: every system has exactly one constraint (bottleneck) that limits its overall performance. Improving anything other than the bottleneck is an illusion of progress. TOC provides a focusing process for finding and eliminating bottlenecks systematically.
How to use it
Follow the Five Focusing Steps:
- Identify the constraint — Find the bottleneck. It's the step in your process where work piles up, where capacity is maxed out, or where the throughput of the entire system is limited.
- Look for: longest queues, highest utilization, most complaints
- Exploit the constraint — Get the maximum output from the bottleneck without spending money. Ensure it's never idle, remove unnecessary work from it, and ensure it only processes high-value items.
- Subordinate everything else — Align all other parts of the system to support the bottleneck. Non-bottleneck resources should work at the pace of the bottleneck, not at full speed (which just creates inventory/queues).
- Elevate the constraint — If the bottleneck is still limiting after exploitation, invest to increase its capacity. Hire more people, buy more equipment, or redesign the process.
- Repeat — Once a constraint is broken, a new one will emerge elsewhere. Go back to step 1. Never let inertia become the constraint.
Example
- Identify: Code review is the bottleneck — PRs wait 3 days on average for review, while coding takes 1 day and deployment takes 30 minutes.
- Exploit: Dedicate the first hour of each day to code reviews. Break large PRs into smaller ones. Create review guidelines to speed up the process.
- Subordinate: Developers shouldn't start new features if review queue is long — instead, they should review others' code first.
- Elevate: Train more developers in code review. Introduce pair programming to eliminate some reviews entirely.
- Repeat: After fixing code review, QA testing might become the new bottleneck → apply the same process.
Takeaway
The Theory of Constraints teaches you to focus improvement efforts where they matter most — at the bottleneck. Improving a non-bottleneck is wasted effort. Find the constraint, fix it, find the next one.
Put this tool to practice
Apply the Theory of Constraintsto your own situation. Start with a real problem you're facing and work through the steps above.
Explore more tools