Asynchronous Agile 4:

Temporal Distribution

Thus we arrive at temporal distribution. Because humans are so bound by time, we do a poor job of considering it. We are fish, rarely contemplating the water. We frequently and easily think of distributing objects (everyone on this floor needs paperclips), knowledge (all the new developers need training), and people (one person should guard each door). These types of resources can be moved within their domains relatively easily. If I have two people at checkout register 1, and none at register 2, I can move a cashier. Other resources are subject to improvements in flow, or problems related to flow: traffic, overstocked inventory upstream, starved workstations downstream. Most resource problems involve inventory.

Flow of inventory always has some cadence, either chosen, imposed, or accidental. 

Traffic is an easy example of flow problem everyone has experienced. This often happens due to a desire to improve a local optima over the total system flow. Problems that occur in traffic aren’t necessarily caused by the flow rate, but changes in the flow rate. Despite a highway being posted as a 70 mph zone, the optimal traffic flow during rush hour may only be 32 mph. Unfortunately the minimum flow rate often approaches 0 mph due to changes in the flow rate between vehicles. Drivers try to maximize their speed “when they can” but when they approach slower traffic they must brake safely in such a way that the decrease in speed is a greater loss than the average optimal speed would be (they drop below 32 MPH). Some sophisticated traffic systems post signs with variable speeds, or modulate the flow of on-ramp traffic in order to optimize the total average speed of all cars.

At a four-way traffic light, drivers may attempt to pack the intersection once the light turns yellow. If these cars are unable to clear during the green light in the other direction, then the problem is carried over to the flow of cars going the other way. This leads to those drivers choosing to selfishly pack the intersection to “beat” the problem. Although this strategy may improve the local optima for that one driver, the net effect is reducing the flow of traffic in all directions, for the majority of drivers. The bottom line in both cases is that trying to maximize a local optima, everyone is made worse off.

The most important concept often missing in discussion of flow is the idea of a “bottleneck”. While more well known in Japan, and within Operations Management fields, bottlenecks are not discussed as frequently in US management culture, or in fields that don’t specialize in supply chain management. A bottleneck is any step in a series that dictates the cadence of the entire series. As an example, an automotive assembly station may receive 4 tires, 2 bumpers, 1 engine, and 1 windshield wiper every 10 minutes. The pace of the assembly is planned to be 1 vehicle every 10 minutes. But the actual pace is 1 vehicle every 20 minutes. Without an awareness of system flow, management may focus on any one of many variables which do not matter. The robot that lifts the body of the car may be the most expensive piece of equipment. The tire installation may require the most people. The engine placement may bear the highest cost risk. It can be easy to focus on a fancy machine, assume there is too little (or too much) costly labor, training may be considered inadequate. Threats or begging usually occur. But the humble windshield wiper delivered at half the necessary rate is the source of the problem. The cause of the bottleneck in this example may be the lowest cost item, but could be causing half the rate of sellable goods. The individual biases of each person will lead them to troubleshoot according to the factors that they notice. Any costs incurred on any step that is not correcting the rate of windshield wiper delivery is a waste!

Every process has one true bottleneck. There may be many points along the process that change the rate of flow. Anywhere you see an email inbox piling up is a bottleneck. A Dev Team that is waiting for stories to work on is downstream from a bottleneck at the Product Owner. But in every end-to-end process, only one stage will be the rate constraint on the whole system. For a much more in-depth understanding of bottlenecks and flow, I highly recommend The Goal, by Eli Goldratt. His Theory of Constraints is much like chess, easy to understand but a lifetime to master. The book is a short novel with an entertaining story.

Time is unlike the other three resources discussed. Time is both the resource and the domain within which that resources resides. We cannot move, rush, or slow down time. We cannot store time in inventory. Because we can’t move time, Temporal Distribution really consists of moving other resources between periods of time. If we are lucky, we can move resources from times that have reached their bottleneck on productivity to other times which allow for more productivity.  

Published by theAgileCouch

A place to relax and unwind with some Agile Coaching thoughts.

Leave a comment

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: