The Theory of Constraints is an approach to improving organizational performance; the rationale behind this methodology is that in every organizational system, there is one constraint that limits the output, and only when this constraint is addressed we can improve the whole process.
No matter how much we improve the rest of the non-constrained steps, the process will not improve until we improve the weakest link.
The Theory of Constraints uses five steps for optimising systems, allowing to address constraints is the simplest way possible.
Step 0: define the goal
Each process has a goal, and understanding the goal is often the most difficult step in the process. Finding the right goal and the right metrics to measure progress toward that goal will be critical to your success.
Step 1: Identify the bottleneck
In a similar way, each system has one constraint that determines the throughput of the entire process.
The constraint can be a person, a team, a physical machine, one organizational rule, or anything else that limits the output of a process. The constraint is often called a bottleneck.
As mentioned earlier, making improvements anywhere but the bottleneck will not improve the throughput of the system and it can even have a negative effect.
To help identify the bottleneck, you can use tools like flow charts, swim lane diagrams, root cause analysis, Pareto charts, or queuing models, but it is critical to define what is the step that is limiting the system.
It’s important to understand that being a bottleneck doesn’t mean a person or team is bad at what they do or that they’re doing anything wrong. Being the bottleneck is neither good nor bad; it’s just a fact of the system. There’s always one constraint, and as we will say later on, once that constraint has been addressed, a new one will come up.
Step 2: Exploit the bottleneck
Once we have identified the step that is constrained, the first way to address it is to “exploit” it.
Exploiting the bottleneck means eliminating any work done by the bottleneck that doesn’t contribute towards the throughput.
There are several options when it comes to exploiting a bottleneck:
- Make sure the bottleneck works on only one thing at a time.
- Remove any non-throughput producing
work from the bottleneck.
- Shield the bottleneck from interruptions.
- Make sure that the bottleneck is never idle or waiting for information, equipment, or materials.
It’s important to only change one thing at a time as if multiple changes are made it will be impossible to tell what change had the positive effect.
After each change, it’s important to go back to the beginning to make sure the bottleneck hasn’t changed to a point where it is no longer the constraint.
Step 3: Subordinate Decisions to the Bottleneck
After you’ve exhausted what you can do through exploiting the bottleneck, the next step is to subordinate decisions to the bottleneck. Subordinating decisions means the rest of the system works to help the bottleneck produce maximum value.
In a constrained system, anyone working beyond the pace of the bottleneck is not increasing the throughput of the system, therefore instead of working faster, it’s more productive to work to the pace of the bottleneck and use the extra capacity to support the bottleneck further.
As with the exploit step, measure the result and go back to the beginning.
Step 4: Elevate the bottleneck
After doing what you can to exploit and subordinate, you can elevate the performance of the bottleneck.
Elevating the bottleneck requires time and money, so it’s done only after exploiting and subordinating.
Some of the below examples can help
elevate the bottleneck and improve performance:
- Get more people that can do the same
work as the bottleneck.
- Buy more or faster machines.
- Give people training and better tools.
- Coach for individual improvement.
- Improve the workspace.
- Change organisational policies.
Often, we jump right directly to elevating by adding people, getting training, buying equipment and tools. These changes can be expensive, and it takes time to get a positive impact on throughput. They could even have a negative effect in the short term.
Elevate as a last resort when you can’t find any more ways to exploit or subordinate.
Step 5: Repeat
Every
time you find a potential improvement, implement it, measure the results, and
go back to the beginning. Make sure the goal is still valid and see if
the constraint has moved.