Theory of Constraints

Goldratt: the Theory of Constraints
Posted on December 27, 2013 by kswenson
Before BPM came Goldratt and the Theory of Constraints in the
1980’s. This idea can be seen as the groundwork for most of the
‘process oriented’ thinking today.
Eliyahu M. Goldratt (March 31, 1947 – June 11, 2011) was a
physicist turned management guru. He introduced the idea in a
fictional novel form where a protagonist is faced with increasing
the production level of a manufacturing plant. The targets of his
message are the accounting principles that measure success
I sit there marveling that we’re going to reduce the efficiency
of some operations and make the entire plant more productive.
They’d never believe it on the fifteenth floor.
Let me explain. If in the middle of a manufacturing process, you
have one machine that works slower than the rest, then entire
production is limited to the speed of that machine. That machine
may be functioning perfectly efficiently, with a very low cost per
unit. Adding a second machine with a higher cost/unit would
increase overall cost, and would make that step appear less
efficient according to such accounting principles, but the result
is that total output of the factory increases. What he shows is
that a focus on efficiency of one step is myopic and unimportant.
The only real measure is total production all the way through the
factory, along with total costs all the way through the
An hour lost at a bottleneck is an hour lost for the entire
Bottlenecks become the most important part of the factory to
monitor and manage. The cost of losing a machine in the bottleneck
is not just the cost of that machine. Calculate the cost of a
bottleneck as the total production value of the entire plant, and
divide by the operating capacity of the bottleneck. If the
bottleneck stops for 1 hour, you actually lost 1 hour of total
plant capacity. Thus those hours are that value — at least as long
as that step remains the bottleneck.
Once you have identified the bottleneck, you want to take steps
to make sure that the bottleneck is always filled with materials
from previous steps to make sure that the it is always running. It
is critical to arrange things so that when a part gets to a
bottleneck, it is likely to make it the rest of the way. You don’t
want a quality control check after the bottleneck that causes parts
out of the bottleneck to be discarded. Do the QC before the
bottleneck so that things going into it are as good as
possible.  Also, be very careful not to use bottleneck to
make things that are not immediately needed. That should be
There is a flaw in measuring efficiency of a part of the
process. Just because one step does things quickly might not
matter. What matters more is throughput. Machines that are the
bottleneck are always struggling to keep up, and those seem like
the most efficient because they are fully utilized.
The cost per unit at steps that are not the bottleneck does not
matter as much. For example a step in the process may be set up to
make a long run of identical parts. Longs runs tend to keep costs
low at that step in the process, because you eliminate the overhead
of changing the setup. This efficiency is an illusion if that step
is not a bottleneck. If a long run at an early step is preventing
parts arrival at the bottleneck step, then once again your attempt
increase the efficiency of that step is decreasing the output of
the entire factory. If critical parts are needed for the bottleneck
step, stop what you are doing, setup for the critical parts and run
them immediately.
An hour lost at a non-bottleneck stage is a mirage.
There is a corollary to this having to do with high inventories
of intermediate parts. The old theory was that each part should be
made as efficiently as possible, and that would make the final
manufactured good as efficient as possible. Each station would set
up for long runs and produce an abundance of intermediate parts.
This harms the plant in several ways: money is invested in these
parts that are not immediately needed, those parts take up space,
create costs of moving them around, are susceptible to theft loss,
but most importantly, can cause steps to be unavailable when needed
to make critical bottleneck parts. Thus excess inventory of
intermediate parts should be viewed as a cost, not an asset. This
same principle was expounded by Taichi Ohno in the Toyota
Production System. A non-bottleneck machine should not work faster
than needed for immediate production, because that will just pile
up inventory. If you have excess production capacity, you must
waste it rather than use it. This is one of the harder things to
We shouldn’t be looking at each local area and trying to trim
it. We should be trying to optimize the whole system. Some
resources have to have more capacity than others. The ones at the
end of the line should have more than the ones at the
beginning—sometimes a lot more.
Batch size is traditionally set to optimize the time of a single
step of production against the time of setting up for production.
However, this is once again local optimization that does not
necessarily relate to overall optimization. If the machine in
question is a non-bottleneck, then you have excesses capacity and
excess time. Saving setup time by optimizing batch size, is an
illusion. The time for each batch is added at each step in the
process. Half the batch size means it gets through the entire
process twice as fast. This means that smaller batch sizes can mean
faster time to market, cutting lead times, and being more
We see the same thing in agile software development in relation
to waterfall software development. The batch size is the total
release. There is an idea that we can optimize testing by getting a
lot of features in and then test once. But this does not matter if
testing is not the bottleneck. What is the bottleneck in software?
It is getting users to understand the possibilities of the new
Toyota’s Kanban is a way to prevent excess production, but most
people think that preventing production is a waste. It is the
opposite: using excess production is a waste.
A plant in which everyone is working all the time is very
There is a similar faulty focus on keeping thing fully occupied.
A common mistake is trying to keep all the workers busy. Labor is a
cost, it might seem intuitive that you should keep them busy.
However, if they are busy on a non-bottleneck function, and that
prevents them from getting to a bottleneck function quickly, it can
decrease the total output. It may be worth having some people
sitting, doing nothing, so that when they are needed for the
critical function they are immediately available. Idle time has
been considered a waste in the past, but that is an illusion.
Making an employee work and profiting from that work are two
different things.
activating a non-bottle-neck [resource] to its maximum is an act
of maximum stupidity.
Most of the factors critical to running your plant successfully
cannot be determined precisely ahead of time,
There are two big lessons:
if you design capacity to exactly meet the need, when you have a
sequence of dependent steps, then any failure, and flaw anywhere
will compound along the assembly line. To keep production stable,
later steps may need higher production capacity than
earlier steps.
measuring the productivity of a part of the process is flawed
because you can meet the required production speed in one place,
but it does not matter if this does not contribute to making a
sale. The only thing that matters is the final output that is
One way for combating this is to design in longer lead times.
The flaw with this is that this increases the inventory that is
sitting around, which is a kind of waste.
Balance flow, not capacity: “you should not
balance capacity with demand. What you need to do
instead is balance the flow of product through the plant
with demand from the market.”
Comments / Conclusion
The world has changed dramatically since 1984 since Goldratt
wrote The Goal. These ideas must have seemed very radical at the
time. The ideas themselves were known in the right circles from
earlier work by Taichi Ohno among others, but I think Goldratt
deserves a lot of credit for popularizing these ideas.
Today, process technology support (particularly from the domains
of “Process Driven Server Integration” and “Human Process
Management”) — those domains that require that a process diagram
(a.k.a. workflow diagram) be designed ahead of time and enacted or
executed. Because you are required to draw up the process from end
to end, you are forced to think about all the work in terms of a
process. The process analytics that are associated with such tools
also leverage the process oriented view, allowing one to easily
find a bottlenecks. Process simulation allows you to experiment
with those bottlenecks, and helps to find out what might happen if
you change the way you allocate resources to the process. This
process oriented thinking is becoming so natural, that we forget
that there was a time when efficient was measured only as local
efficiency measurements at steps of the process.
The key message: you can not understand the behavior of a
complex system by looking at part of it. You can not optimize a
complex system by optimizing a part of it. A complex system is
complex because it has dependencies of many parts on many other
parts. You must consider the complete system, the complete process,
in any assessment of performance or attempt at improvement.
Discuss your opinion on this article and back up your opinion
with information in the article.

We offer such solutions here:

Get 10% Discount for this order!

Our Prices Start at $11.99. As Our First Client, Use Coupon Code GET10 to claim 10% Discount This Month!

Why US?

100% Confidentiality

Information about customers is confidential and never disclosed to third parties.

Timely Delivery

No missed deadlines – 97% of assignments are completed in time.

Original Writing

We complete all papers from scratch. You can get a plagiarism report.

Money Back

If you are convinced that our writer has not followed your requirements, feel free to ask for a refund.