Theory of Constraints
I recently read Eliyahu Goldratt’s book, The Goal, for the first time. The Goal was originally published in 1984, but has since been updated a few times.
This classic outlines Goldratt’s Theory of Constraints in a compelling novel form that follows Alex Rogo, a plant manager, as he tries to save his job, his plant, and his marriage.
While written from a manufacturing perspective, the Theory of Constraints (TOC) has been applied in many contexts in the 30+ years since the book was published.
The main idea is that every process has a constraint (or bottleneck), and that focusing improvement efforts on that constraint is the most effective way to improve performance.
In order to apply TOC to a situation, it’s important to understand the goal to be achieved. In most business contexts, that goal is to make money. But in a personal context, the goal might to be to make a career transition, spend more time with loved ones, or to pursue a long-held dream.
Once the goal has been identified, TOC outlines a five-step process:
-
IDENTIFY the constraint. Figure out the single part of the process that limits progress towards the goal. In manufacturing, this might be a machine or process that limits the overall throughput of the system.
-
EXPLOIT the constraint. Make quick improvements to the throughput of the constraint. Find a way to maximize the use of the constrained resource. In manufacturing, this might be ensuring that the constraint has no unnecessary downtime, and that all upstream processes are keeping it feed with inputs.
-
SUBORDINATE everything else to the constraint. Improving the performance of a non-constraint doesn’t help the performance of the overall system. In fact, it might make things worse overall. In a manufacturing context, having an upstream process produce more material than the constraint can handle is pointless.
-
ELEVATE the performance of the constraint. Find a way to make the constraint work better. This might mean finding a different way to do some of the job being done by the constraint, adding another machine that can do the job, etc.
-
REPEAT. Keep your eyes open. Sometimes these improvements will cause the constraint to move somewhere else, and the process will need to be repeated for the new constraint. Also, it’s easy to fall into a rut with the “new normal” and stop paying attention to what’s really going on.
This is all well and good, but most of us don’t work in a manufacturing context.
As I said above, TOC has been applied in many other domains over the years. It might take a bit of creative thinking to figure out how to apply these steps.
For example, I was part of a conversation with Pat Maddox about his RubySteps program. He told us that he teaches his students to apply TOC to their learning process. When confronted with a programming challenge, he’ll help the student drill down to find the single thing that is keeping them from completing the task (the constraint). He then walks them through the other steps to break the constraint by learning the necessary skill to accomplish the current goal.
How can you apply TOC in your life and work?