All tools

Theory of Constraints

New
Systems Thinking

Improve system performance by identifying and optimizing the bottleneck

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:

  1. 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
  1. 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.
  2. 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).
  3. 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.
  4. Repeat — Once a constraint is broken, a new one will emerge elsewhere. Go back to step 1. Never let inertia become the constraint.

Example

Software development team:
  • 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

Sources

Related tools