Minimising WIP is the foundation of being agile
In short:
- In order to be more agile, we need to adapt quickly.
- In order to do this smoothly, we need minimal Work In Progress. Otherwise, changing course will either take a long time (whilst we finish all the work), or leave much work unfinished
- Minimising WIP automatically decreases lead time, i.e. it means we build things quicker
- So minimising WIP allows us to build quickly and adapt quickly. Which makes us very agile.
What is agile?
In my mind, agile is really quite simple. We start with a mindset that we don’t know the perfect way to do everything. This is increasingly sensible, because the world we live in and the work we do is incredibly complex. As a result, rather than sticking steadfastly to long term plans and rigid work processes, we iterate and improve. Or as Eric Ries put it, we Build, Measure, Learn (BML), again and again. Everything else we do to be “Agile” is simply an attempt to do this more quickly and/or more effectively.
So that’s it. If we want to become more agile, we need to do this BML cycle quicker and quicker. There really isn’t much more to it than that.
So, let’s break that down. We need to:
- Build quicker: which means minimise lead time
- Measure better: find ways to gather fast feedback from users
- Learn faster: we need to be able to act on our new knowledge and change course quickly without causing havoc.
Little’s Law
If you have been involved in a Kanban process, you will probably have come across Little’s Law, that states that:
Work in Progress (WIP) = Lead time x Throughput
Where:
WIP = the amount of work you have in the system
Lead time = the time it takes for a work item to get through your system
Throughput = The amount of work the system produces per day/week/month etc
The main learning here is that, once a system (e.g. team) is working at full capacity, adding more work to the system only serves to increase lead time. Sure, if the team has spare capacity then increasing WIP will increase Throughput. But once you get close to the team’s limit, taking on more work at the same time just means that all the work takes longer to do, and the amount of work completed per day/week/month does not increase.
The connection between “Build” and “Lead time”
I hope this is fairly obvious. “Lead time” is generally defined as the time it takes to take a piece of business value from inception to realisation. So in order to “Build quicker” and become more agile, we need to lower lead time.
The connection between “Learn” and “WIP”
If we “learn” quicker, this means we actually have to make adaptations on the back of our new knowledge. It isn’t enough just to take in the new knowledge and sit on it (that’s just the “measure” part). We have to make some decisions and change course. The most agile organisations are therefore the ones that can change course quickly and effectively.
But changing course can be very disruptive in organisations. In order to minimise disruption and maximise morale, we need to be able to change quickly without work/time being wasted. We want to be able to finish what we are doing and move on to something else in a short space of time.
If we have lots of Work in Progress, then this means one of 2 things needs to happen in order to change course:
- We have to leave a lot of work unfinished. This means time has been spent without creating any business/customer value, which will decrease morale as well as business outcomes
- We have to spend a long time completing the work that we have started.
Neither of these make us very agile, not in an effective way at least. So in order to be able to adapt quickly, an organisation needs to minimise its work in progress. This means that:
- At any one point it can quickly finish what it is currently working on and release more value
- It can quickly change course without wasted effort
Conclusion: Minimising WIP is the foundation of being agile
So, let’s put the 2 learnings together. From Little’s Law we know:
Minimising WIP will minimise lead time
Also, in order to be agile we know that we need to Build, Measure and Learn quicker. ⅔ of this is highly related to Little’s Law:
In order to Build quicker we want to decrease lead time. In order to Learn quicker we need to minimise WIP.
So if we want to be more agile, one of the most important aspects is to minimise work in progress as it automatically means we will decrease lead time. By creating an organisation that is ready to adapt quickly (due to minimal WIP) we automatically create one that can build quickly. It’s 2 for the price of 1.
Sure, this doesn’t cover everything that is required to be agile (I haven’t explored the “measure” part for example). But it is clear that minimising WIP is absolutely critical.
Let me know if you agree!
If you enjoyed reading please give some 👏 and/or leave a comment. For more stories like this check out my publication, The Agile Mindset.