Work-in-progress is a persistent issue for many teams and businesses. What is interesting is that we all kind of know that work-in-progress is terrible, but we don’t act on reducing it. If we look at any advice on running teams, systems, and flow of work, this advice always pivots on lowering work-in-progress and multitasking that goes with it.
Work-in-progress is often brushed off as “Oh, things will just take longer to get done.” But, in reality, it’s a lot worse than that because we also lose control over the order the tasks are done in (in the queue), and then we end up with:
- less visibility of the flow
- less reliability out of teams because WIP stops being an organized queue and becomes a swarm of work
A handy analogy to help understand this more is thinking about WIP as bathtub water.
Imagine a bathtub with the taps above the plughole; you turn the tap on, if there’s no water in the bath, the water runs straight out the plughole. Right? Great. It’s the same in business; if the team didn’t have anything to work on and we chuck some work at the team, they will immediately work on it. It’s going to flow straight through the plughole. However, we don’t generally feel comfortable with people sitting around doing nothing, waiting on work, so we ensure we have enough work-in-progress in play for the teams to have enough to work on.
However, we often end up shoving more work in than can come out, essentially dumping buckets of water into the bath!
We add work in when we shouldn’t and have many tasks around that are only half-finished. Multitasking gets in the way, work-in-progress piles up, and you now have a bathtub full of water. If you were to put new water in, do you know when this ‘new’ water will come out of the plughole?
You could try to plan for it, but again, you don’t have a perfect queue. It’s not as simple as, “Oh, well, this water went in, the water that is currently in the bathtub will flow out, so it’s going to take ten days for the new water to go out…”. Water, much like tasks, swirls around. People start cherry-picking the tasks they want to work on, and they start pushing tasks they would rather not perform to the back. They start grabbing random tasks because someone mentioned them by the watercooler, or they’re top of mind for another reason. And we end up with way more chaos and get very little control of work that comes out.
Putting aside various mechanisms designed to manage the flow of work and regain control over what people are working on, decreasing the work-in-progress by even half (half the water level in the bath), we will up the reliability of estimates massively.
Now, of course, if we lower that water level down to where people have just enough to do, we are going to know that, “If I put this task in at the start of this week, I am going to get it roughly the end of this week, or the start of next week…” Now, those timeframes are going to change depending on what you are working on. Still, the idea of imagining work-in-progress like a bath, rather than a queue, can start to make you realize how important it is to try to control the work-in-progress and what sort of things you have to do to try to control it.
The major takeaway from this is to consider work-in-progress as a swirling work environment, rather than like a factory or a production line, where work flows linearly. People don’t work like that, especially in more high-skilled teams where the estimates are less predictable. WIP can blow out quite dramatically.
Another variable is different types of work. Let’s say hot water and cold water didn’t just equalize the temperature; they stayed separated. Ideally, you want to be able to control which of what comes out. We want 30% cold water to come out? Do we want 70% hot water to come out?
Interestingly, when we plan for a team, we plan for what we want to get done, but when we release work to the team, we plan for what we are giving. We might want 30% cold water out this week; let’s say that’s bug fixes. But just because we put 30% cold water in doesn’t mean we will get 30% cold water out this week. The way the water is swirling around, we might get more hot water out this week. We have very little control of what comes out when there is a high water level in the bath. Again, lowering the work-in-progress level for a team means that we are more likely to get out an equal balance of what we put in. This is very important when we are trying to figure out roughly how long things will take, roughly what the team’s output will be, so you can plan and project going forward.
Even worse than that, imagine adding oil to the bathtub. Right? Piles of tasks that nobody wants to do. Does that mix with the rest of the water? Nope. It just sits on the surface. So, no matter what time you put that oil in, it’s pretty hard to get it to come out of the team when you add more and more work in. There is always something else to do other than the work nobody else wants to do. It can just sit there in the background. Whereas when the water level is shallow, and you put some oil in, some of it will come out of the drain, especially if we limit the water levels.
Hopefully, this analogy helps you to understand how WIP interacts with workflow, estimates, and forecasts.