One of the key lessons in The Theory of Constraints is that the contraint or the bottleneck determines the throughput for the entire system. This means, then, that if we optimize and improve a non-bottleneck, then those efforts have zero impact on the overall throughput of the system. It is only when we improve and optimize the contraint that we will see improvement in the throughput of the entire system. Every system has a constraint — that is neither good nor bad — but just a fact of dynamic systems. The key is to identify and then manage. Once you’ve identified the constraints in your system, then the next step is to manage it.
I was able to obtain some empirical volume data for Burger King. The data below is taken from 1 Burger King restaurant. I imagine the numbers would be significantly different if we were to average the volume by geography, restaurant size, or by other factors. Now, consider the following process map for a typical Burger King:
Over the course of an average month, Burger King produces 34227 sandwiches. This means, then, that for an average hour, Burger King produces 198 sandwiches per hour during normal hours. But, on Friday and at 12:00PM, Burger King experiences higher-than-normal volume and so we add a “Peak Multiplier” of 18% and 17.9% to arrive at 256 sandwiches during Peak Hours. The “Peak Multiplier” is not completely arbitrary, but a quasi-educated guess at the volume increase during those hours. In both cases of Fridays and Lunch Hours, we add a ~20% multiplier.
Now, let’s take a look at the process map. We see the Assembly Step producing 200 sandwiches an hour. We consider the Assembly to be the constraint in the system. The upstream processes produces more than 200, but when we arrive at the Assembly, the capacity of that step is lower than its upstream processes. So, the maximum throughput of the entire system above is 200 sandwiches per hour.
Under normal hours, the constraint functions reasonably well. Since normal hour demand is 198 sandwiches per normal hour, the Assembly Step can produce at least at that amount — but, it’s cutting it close. Under peak volume, the constraint is not able to fulfill demand.
How To Manage A Constraint
Under normal hours, it appears that the Assembly Step can produce at expected demand. But, there are several things that could put burden on the constraint and cause it to producing less than capacity. Here are some of those items:
- Rework: Having to Re-Assemble sandwiches adds undue burden on the system and exaggerates the effects of the constraint, leading to a potentially higher-than normal work-in-process, or build-up.
- Set-up & Changeover: If all the parts aren’t immediately available in the Assembly step, then it could lead the operator to slow down which could lead to build-up and higher-than-normal work-in-process.
It’s easy enough to see that the Assembly Step needs some help. Here are several things Burger King — or any system with constraints — can do to better manage the natural constraints that are in every system:
- Eliminate Defects at the Constraint: This means that all waste is eliminated or reduced at the constraint.
- Have the Quality Steps in Front of Constraint: In support of the first bullet, make sure that the parts entering the Assembly step are free of defects.
- Support the Constraint: Add labor to the constraint or more lines, if that is prudent.
- Appropriately use Buffers: Systems with Constraints exhibit a feast/famine phenomena. To avoid having too much coming into the constraint or too little coming into the constraint, have a buffer of parts large enough that the constraint stays appropriately busy. Put another way, reduce the variation in front of the constraint as much as is possible. A Drum-Buffer-Rope system might be appropriate for some systems.
- Evaluate the overall system: How much of the steps in the system are really value-add to the customer? What is the process-cycle effeciency of the process?
All systems have constraints. Identify what they are, quantify the effects, then manage it. The above Burger King example shows how this can easily be done. What are the constraints in your systems? What can you do to better manage those constraints?