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.