Wait time is non-value adding. Required waste is non-value adding. Only actual demand adds value.
The vast majority of time spent on a non-flow efficient project is either waiting or required waste. Very little “work” is done when everybody in the project needs to be perceived as 100% utilized at all times.
The difference between resource-utilized systems and slack systems is one of focus. In a slack system, the focus is on the customer, not on utilizing people and machines.
Go read “This is Lean”
High resource efficiency makes sense in some industries, for example, having an oven in a steel mill up all the time makes sense, since it is VERY expensive to shut off the oven.
High flow efficiency makes sense in some industries as well, for example, the fire department needs to be able to respond as fast as possible, and it doesn’t matter if most of the time the fire fighters are not fighting fires.
In high resource efficiency systems there is high utilization, long lead-times, lots of work in progress, large batches and a focus on unit cost. Lots of waiting and slow to change.
In high flow efficiency systems there is low utilization, short lead-times, very little work in progress, small batches and a focus on customer delight. Very little waiting and fast to change.
What lean is: the concept that organizations should START with flow efficiency in our processes, then move towards resource efficiency. We start with slack in the system to allow for change to occur as needed and to respond fast.
When we concentrate on flow efficiency we usually see between 1-5% value added of total lead time.
Two archetypes: the busy bee and the kata guy.
The busy bee (who is always working on something) will always be context-switching to make sure that they are “being productive.”
The kata guy will have downtime, but they are always working on one thing at a time to completion.
When you organize for resource efficiency, you spend more time on required waste and wait time. The key is to follow the WORK, not follow the workers.
What is most important to your customers? How much your workers work, or how fast the work itself is completed.
Do not look at the cost of each flow unit (worker), look at the cost of the system as a whole.
Will it offend people (managers) if you have downtime? Well…yes. Some people will be offended, but when moving to a flow efficient system, take it slowly to get everyone in the system used to the idea.
Everyone should have some low-priority work to do in idle time. But the importance of being flow efficient dictates that the low-priority work can be dropped at any time to do higher priority work. The problem with resource efficient systems is that ALL the work is high-priority and it takes a long time to spin up on.
Effort estimation is flawed!
Estimating the amount of effort a piece of work will take almost always does NOT include an estimation of wait time, making those estimations not useful at all when trying to predict when a piece of work will be completed.
Estimating work completion by examining historical data and probabilistic forecasting is much more accurate for understanding when a piece of work will be completed.
How do you improve flow efficiency? - Focus on reducing wait time first! Then focus on reducing required waste.
Yes, but…how do you really do it? It is really hard to take a resource efficient system and convert it to a flow efficient system. The solution is to drop resource efficiency.
"Don’t play cone soccer" - You want to not be focused on "just your job," you have to be able to see the entire system. You want to be able to visualize your end-to-end flow in your systems to see WHAT the job is.
Move from large batches with low frequency to small batches with high efficiency. That means smaller features. Slice first, independent of business value, even before thinking about MVPs. Deliver continuously, or at least more often. Shipping is king.
Avoid projects - project work implies large batch work. Units of work need to be smaller to move faster.
Blockers and Impediments are your Gold and Gems for improving flow efficiency.
Little’s law FTW!
When you plan for less than 100% utilization, you can respond to emergencies better. You also get the side effect of getting time to improve the system in that down time as well.
Driving down work in progress is good for the overall flow of a system. This will help to uncover process improvement changes that need to be done.
Every process has a bottleneck!
You can never go faster than your worst bottleneck. Therefore, if you maximize the work for non-bottlenecked units, you will start to pool up work AT the bottleneck. So, it is ideal to keep all units running at the level of the bottleneck to ensure constant flow.
But how do you do this? - WIP limits. Limiting the work in progress applies back pressure on the higher work-producing units.
So, just make up a WIP limit and experiment. Change the WIP limit every sprint and see how it works. Eventually you will see where the WIP limit will be looking at the data.
The King’s Formula - when resource efficiency increases in a low variability lead time rise, but in a high variability system, lead time rise much faster.
Try to avoid swarming on work in an ad-hoc process.
Unnecessary process variability should be removed. Some types are needed, others are not, like swarming on work.
Swarming on work means having everyone on a team stop what they are doing to solve a problem.
"A bad system will beat a good person every time" - W. Edwards Deming