Much of what we do can be described in the form of a process flow – and we often assume that if we can improve performance by improving parts of the process.
To improve traffic flow, for example, we could have all cars drive at the same speed – surely that will help?
That doesn’t turn out to be the case.
We can see this effect when something happens on the motorway that causes a lane to be shut.
It doesn’t matter how well everyone drives individually.
The flow rate of the vehicles is set by the capacity of the number of lanes available and so, when we lose one, everyone slows down as the same number of vehicles now has to pass through the lesser number of lanes.
Eliyahu M. Goldratt, in his books Goal and Theory of Constraints, sets out how the throughput from a process is going to result from one constraint or bottleneck.
To improve the throughput – the number of things coming out of the process – we need to figure out where the bottleneck is and what we need to do to improve its performance.
It’s a waste of time spending effort optimising any other part of the process, because the performance of the system overall will still be set by the bottleneck.
Goldratt sets out a five-step process for dealing with constraints. In adapted form, these suggest we should:
- Figure out where they are.
- Decide what to do about them.
- Decide how everything else works based on the impact on 1 and 2.
- If, in doing all this, the constraint is no longer the limiting one, then go after the next one.
- A warning – we need to keep repeating this, as the limiting constraint will move around.
The way we often figure out where constraints are is because they have piles of work-in-progress (WIP) in front of them.
The same thing applies with knowledge work.
A person can be a bottleneck if the work they do is slower than the rest of the work carried out by others, and so they become the limiting factor in the operation.
Aligning how we work with bottlenecks has a number of benefits:
- We know that throughput is set at the capacity of the bottleneck. To increase output, we need to work on the bottleneck.
- This means that we can minimise inventory to the level required by the bottleneck. Working any other part of the operation simply piles up money in stuff that will take time to be processed.
- We can also reduce operating expenses because we don’t need more people in areas that don’t directly contribute to the bottleneck activity.
In summary – when we try and optimise an activity we often try and speed up parts of the system.
What we need to do instead is improve flow through the system.
And that starts by focusing on bottlenecks.