One of the most common questions I get when talking about Kanban is: „How do we define our WiP Limits?“ There are different approaches to this and I don’t think we can find a best practice for this. What I learned during the past years was:
- There is no secret formula for setting WiP Limits. No matter what you do: The limits will be wrong at the beginning and need to be adjusted. And they need to be adjusted anyway every now and then, because the team should improve and the system should change over time. So we shouldn’t put too much effort in setting the initial limits.
- It’s very important that the whole team is involved in designing the board – and part of this is setting the limits. It should be a collaborative process and everybody should have the chance to voice his opinion. Otherwise acceptance might be lower than it could be.
When facilitating system design workshops in the past, what I did was the following: I stood in front of the first draft of the board that was just designed, said a few words about WiP limits and then asked the group „What WiP Limit should we put on this column?“ This was not a very collaborative process and it often led to long and tyring discussions if the limit should be 6 or 7 etc. Then I used a different approach: I divided the group into 2 or 3 smaller groups and told them to come up with what they think are the best limits to start with. After a timebox they reported back to the whole group. After this we formed new groups and discussed what we had so far. After this we consolidated the different drafts into the final one.
The second approach is much more collaborative and certainly leads to better results. But it’s quite time consuming.
A couple of months ago, I tried something different. It’s similar to Magic Estimation, aka Bucket Estimation (a technique that some Scrum teams use for estimation their backlogs). And because I cannot come up with a better name, I call it Magic WiP Limitation. I’m probably not the only one who uses this approach, but I couldn’t find anything written about it on the internet.
This is how I do it:
- The facilitator explains or repeats why we want to limit our WiP and how WiP Limits work. And he should emphasize that whatever limits we set: They are not made for all eternity and need to be adjusted.
- The facilitator asks the group to gather in front of the board.
- One person starts. He writes a number on a sticky note, attaches it to a column and says a few words about why he thinks it’s a good choice. Then he chooses a number for the next column etc.
- Another person takes his turn and changes the limits as he feels they are appropriate. And he explains the reasons for the changes.
- Repeat 4. until nobody wants to change anything anymore or until you observe that one or two numbers go back and forth all the time. Now that’s definitely something you want to talk about a little bit longer.
- If you feel that energy goes down, fewer and fewer people are involved in the discussion and they argue about details (limit of 6 or 7), suggest a compromise (often the higher number).
- Declare success and celebrate the new WiP Limits.
- Don’t forget to schedule a retrospective for reviewing and adjusting the WiP Limits in a couple of weeks.
- Continue with another section of the workshop where you talk about the policies for dealing with WiP Limits.
Until now I only have very few data points, but so far I’m quite satisfied with this approach. Do you use something similar? Then please leave a comment and share your experiences!