My last post described a drum-buffer-rope system. Some feedback I got was that it would have been helpful to have been given an example of such a system. I think we can do better than that!
A simple example
The most common example is one of a factory production line. Lets say our factory production line has three stages to produce a car door:
- Stamp out the door from a metal sheet (this stage takes 3 minutes)
- Paint the door (this stage takes 6 minutes)
- Assemble door to car (this stage takes 3 minutes)
Stage 2 (paint) is the slowest: it takes 6 minutes to paint a door. This is our drum. We need to make sure that the paint process is as smooth as possible, has all unnecessary elements removed and that stage 2 has a constant supply of doors to paint. We also know that we should draw in new material in stage 1 at a rate of one unit every 6 minutes. More than that and we will start to create unnecessary inventory that has nowhere to go; less than that and we are at risk of starving stage 2.
However, it make sense to have a small supply of stamped doors in reserve, just in case a problem occurs at stage 1. For example, if stage 1 broke down for an hour, we would starve stage 2 of doors to paint. If we had a small supply of 15 stamped doors, then stage 2 could carry on painting for an hour without concern. Once the stamping process was back up and running, it could easily stamp out extra doors to refill the buffer.
Although stage 3 could churn out doors at twice the speed of stage 2, it is choked by the slower supply of doors from stage 2. That’s the rope.
This is a simple example of a pull system. The system is regulating its throughput using drum-buffer-rope. It would be able to estimate delivery times to customers because it has a regular and predictable output.
Is this how most software teams work?
Many traditional teams don’t use pull systems. Instead, they use a push system: working on items and pushing them downstream regardless of whether there is capacity. In a push system, stage 1 would be stamping doors at one every 3 minutes regardless of what was happening at stages 2 and 3. “Inventory? Huh! Who cares?”
Can you give me examples of push and pull systems in everyday life?
Yes. In fact, we are going to post a different situation daily for the next ten days asking whether you think it’s a push or pull system. We will add our thoughts each day too.
If you liked this post, you might enjoy our monthly newsletter. Sign up here.