WIP stands for Work In Progress which gives an idea of the amount of work that has been started and not yet completed due to some reason. Keeping this in mind, the WIP limits set the maximum amount of work that can exist in each status of workflow. It helps in finding out the inefficiency in a team member’s workflow by limiting the amount of work in progress (WIP).
A very simple example to understand WIP limit is, if there are two developers in a team and the team has set a WIP Limit as one for each developer, then the total number of progressing tasks will be 2.
WIP limits are decided prior to the project commencement by the development team and are implemented by the team’s facilitator (Scrum Master). E.g. a team will start working after distributing the tasks among themselves. When they reach the WIP limits for a particular task, the team stops going ahead (for the next tasks) and tries to solve the bottlenecks working together. This indicates that the whole team is accountable for the project and for producing a high-quality product.
Fundamentally, WIP limits encourage a culture of ‘done’. Moreover, WIP limits improve the speed and decrease the amount of ‘nearly done’ work by focussing on a smaller set of tasks.
WIP limits point out the bottlenecks very clearly. The teams make a group of the blocking issues to understand, implement, and resolve all project impediments. Once the bottlenecks or errors are removed, the teams can resume the workflow again. This guarantees that the customer will get a quality product in the end, making WIP limits a valuable tool.
During a software development, working on two issues at the same time leads to a context switching between two different tasks or distributing those tasks among the team members. This not only takes more time but also degrades focus. Here, WIP limits help in maintaining a consistent flow.
WIP limits help in limiting the quantity of work that can be handled at the same time, restricting the team members from picking up the new one until the present task is finished. In case of any obstructions, WIP Limits help the teams to take a glance at why a specific bit of work has not moved forward. The team can get stuck with a particular piece of work due to the causes like-
Also, WIP limits point out the areas of overload. These limits supports the team looking at the inefficiencies in the entire process instead of just concentrating on the specific area in which they work.
Typically, WIP limits are associated with Kanban and can also be applied within Scrum. In Scrum, like Sprint Backlog, the WIP Limits are set by the team members for themselves based on their velocity or capacity. Scrum teams can introduce the concepts of Kanban to the Sprint, and this hybrid is called Scrumban. In this case, the WIP limits or the types of tasks are set for each member in the team.
‘Continuous Improvement’ is one of the pivotal principles in Agile. When a team is new to Agile, at the beginning of any project it can be tricky to set a suitable WIP Limit. If the WIP limit is too strict, team members may burn out and get frustrated and discouraged. On the other hand, if the limit is too big, the team members may have to work on too many things at once, which spoils the purpose of using a WIP limit in the first place.
In order to begin, the team should pick a starting limit that they feel comfortable with and can focus on following the same for a given timeframe. The team would then be able to focus on holding a retrospective session to talk about whether their initial approach has been successful and whether they ought to return to the limits that they have set. As the team matures, the WIP limits get smaller. The ideal WIP limit for the teams should be 1, but sometimes that may not be real. So, the team should be proper at the judgement and find out a solution that is effective for the complete team.
The term ‘WIP Limit’ means limiting the tasks in process. That means while development, the team members can mention a limit to the number of items in that state. So, if a WIP limit is 2 on ‘Develop’ column, that means the team members can’t proceed to other items unless at least one of the present item moves to the next column. This can be well understood from the following diagram.
At an initial stage, you may set a limit of two tasks per team member or role. So if you have two developers on the team, the WIP limit for a Develop column on a Kanban board would be four. Regardless of the number (limit) the team decides, the team always has to revisit the columns and check any way to improve the team’s progress and maintaining a consistent workflow.