The Theory of Constraints (TOC) demonstrates the importance of finding and managing the constraint in your business.
This article covers three of the major techniques to optimise any production system around its constraint.
If you are not already familiar with the Theory of Constraints, first read our introductory article (see Theory of Constraints article).
In that introductory article we discussed the importance of making sure that all the upstream production phases are focused on delivering inputs to the constraint in a timely fashion so that the constraint is never starved of the materials that are necessary for it to operate.
However, we do not want to produce so much product at these upstream stations that work-in-progress piles up in front of the constraint.
The Theory of Constraints approach realises this balancing act and has a three-part process for tuning the stages upstream of the constraint so the constraint is never starved or overfed.
These are referred to as Drum, Buffer and Rope.
The "Drum" is the heartbeat of a production system. It is set by the rate at which the constraint can produce and all other upstream activities are controlled by the "beat" of this drum.
You have no doubt seen the role of the drums in a marching band. They are used to give the tempo of the march; one beat per step.
Each time a part is taken through the constraint it creates a demand for another part to replace it. The one or more upstream stations that are involved in producing this required part for the constraint are then triggered to begin the production of this part.
In turn, stations further back up the production line are triggered to produce replacements and, eventually, the purchasing system is triggered to buy in more raw materials.
There are various ways of providing these "signals" to the upstream stations but one method that is widely used is the Kanban System (see Kanban Article).
It is totally unrealistic to expect that things will not go wrong, from time to time, in any production system. Therefore, we need to consider how to ensure that our constraint doesn’t get starved for input resources.
The way that TOC manages this is to introduce "buffers" in front of critical stages in a production cycle.
The Buffers are intended to have some reserve stock so that an upstream production problem still leaves sufficient material available as inputs to the constraint.
Many systems will have variable demand. Examples are doctor’s queues, grocery store shoppers, IT hardware crashes.
Having a Buffer capable of handling these uncertainties will not make very much difference when things are quiet because the Buffer will sit there fully stocked and unused.
However, the big difference will be when things become busy, or some uncertainty happens, and the Buffer then becomes available for draw down to keep the production through the constraint ticking over as best as possible.
In the absence of a Buffer, people will tend to panic and multitask and the system will very rapidly become inefficient.
There are various types of Buffers that serve various purposes.
One of the most important is a so-called "Time Buffer" which is located in front of the constraint. Its purpose is to ensure that there is enough material on standby in the Buffer to overcome any delay in upstream production which might otherwise cause the constraint to come to a halt.
It is probably quite difficult to work out how big the Time Buffer should be but a working guesstimate of 1.5 times the constraint's capacity has evolved as a worthwhile place to start. For example, if the Constraint can do 10 units of work per day, the Buffer should have 15 units to provide a safety margin – in this case of 5 units.
An alternative approach is to add up the production times of each step before that item hits the constraint and give it a safety time of (say) 1.5 times. This means that there is a 50% safety margin in them to run an upstream product through all the stages. If Machine A takes 10 minutes and feeds Machine B which takes 30 minutes which feeds Machine C which takes 20 minutes and Machine C feeds the constraint, the time taken to get that part to the constraint is 60 minutes. This times 1.5 gives 90 minutes so the buffer in front of the constraint should have 90 minutes’ worth of that part at whatever the consumption rate of the constraint is for that part. If it uses 10 an hour, it needs (90/60*10)= 15 parts in the buffer.
Because we want to provide a good service to our clients by having our product delivered on time and the right quantity, we can create a shipping Buffer of sufficient size to be able to satisfy our customers with on time and on quantity supply.
There is quite a bit of science that is involved in determining the ideal Shipping Buffer so that will be the topic of a future article.
To get you started, you could aim to have (say) 1.5 times your periodic amount shipped available at any time to reduce the chance of running out at shipping stage.
If you ship each week (the period) and the average demand for that product is 10 units, you might keep 15 units in the shipping buffer.
This is very much a punt because the size of orders and frequency of ordering is likely to vary considerably around the average demand.
On the other hand, you certainly don’t want to have too much stock on hand so as to avoid building up inventories of unshipped/unsold product.
For more on this topic see the Cost of Over and Under Stocking article.
Improving Buffer Size Estimates
As mentioned above, we can probably just start with a guesstimate to observe what happens with the 1.5 times Buffer.
Over time, if that Buffer is often exhausted, then clearly we need to increase the amount in the Buffer. On the other hand, if the Buffer is never emptied, we could slowly and cautiously reduce the Buffer size until we get to "dangerous ground".
More scientifically, we can plot the draw downs on the Buffer on a graph or store the figures in a spreadsheet.
One would expect that the Buffer has some small draw downs on a frequent basis but it should be increasingly less frequent for greater and greater draw downs and the complete emptying of the Buffer should be a very rare event indeed if you have the buffer size correctly set.
Once there is some data on the number of draw downs per, for example, day we can use the spreadsheet to identify the most commonly occurring figure. This is known as the "Mode" in statistics and is the “most commonly occurring number”.
If the Buffer is most often drawn down by 3 units a day, then we set the Buffer to some multiple of that. Exactly what the multiple might be is probably largely a matter of experimentation and just how much appetite for risk the operation has.
Using the information in the spreadsheet, you will be able to see how often a buffer would have been overdrawn for any particular demand on it.
Parallel Constraint Buffers
In some production systems, there will be parallel constraints.
By way of example, consider a dental surgery with several dentists. The time taken by each dentist for the same procedure will vary and the flow of different types of procedures to individual dentists will also vary. It would be most productive then to have a Buffer in front of each dentist that is tuned to their particular dental specialty and to the speed at which they work. Because there is usually an ongoing relationship between a dentist and a patient, we need the parallel buffers as we can’t merge them into one.
Having said that, sometimes a parallel (and often inefficient ) constraint can be expedited by having a channel or throughput that avoids it.
An example of this might be in a grocery checkout queue where there is a separate line for people with "7 items or less" and a main queue for people with large trolleys of purchases.
Alternatively, most of us have experienced the frustration of separate queues in front of separate supermarket checkouts and the inefficient process that is involved. Many checkout type operations may well proceed much more efficiently if there was a single queue that then breaks off to the separate checkout counters as the next one became available. It is almost certain to improve the temper of the consumers as well.
Monitoring the Buffers
The Buffers will be drawn down at variable rates and from time to time will go into a critical situation, meaning that it is all hands to the pump to provide more product from the upstream production stages.
We need simple and reliable methods of identifying when a Buffer is moving into dangerous territory so that people know very clearly when to begin rectifying a problem. One of the methods of keeping continuous track of the state of the Buffers is to plot them on a Fever Chart (see Fever Chart article).
"Rope", in TOC, is a reference to a virtual communication device which is designed to advise upstream units of when they should produce the next item.
The Rope operates to the beat of the "drum". Each time the drum beats, the Rope gives a tug and the next batch of upstream inputs to the constraint are produced.
Upstream production units need to be trained and encouraged not to produce until they get a tug of the "Rope". This will avoid excessive surplus building up in front of the constraints or elsewhere in the system.
Right at the start of the production cycle, a tug of the Rope triggers the release of raw materials into the production system at a pace designed to ensure that there is no more product in work-in-progress than is necessary.
The concept of a Rope can be extended to the suppliers of your raw materials. If you can avoid over-purchasing products from your suppliers and storing it as cash consuming inventory, you will reduce the amount of cash tied up unnecessarily. This concept has evolved into a methodology known as Just In Time (JIT).
The Rope is most commonly a form of Kanban (see Kanban article for more information).
Further articles can be found at the Theory of Constraints Menu.
The use of Drum, Buffer, Rope is discussed in a number of the business novels written to demonstrate the principles of TOC.
Lean Manufacturing - Japan: Metaphoric example to understand the flow of a supply chain. A concept of increasing throughput by adjusting buffers by a rope and controlling speed by a drum. DBR (Drum Buffer Rope) Theory
A Guide to Implementing the Theory of Constraints (TOC): Drum, Buffer, Rope. Drum, Buffer, Rope is the Theory of Constraints production application. Read more about DBR.