Work in Progress limits
Azure Boards | Azure DevOps Server 2019 | TFS 2018 | TFS 2017 | TFS 2015 | TFS 2013
An essential Kanban practice—Work in Progress limits, aka "WIP limits"—constrains the amount of work your team undertakes at each work stage. It's designed to focus your team on completing items before starting new work. While counter-intuitive at first, many teams find WIP limits helps them increase their productivity and improve their software quality.
You define WIP limits for each work stage, corresponding to each intermediate column. The limit sets a soft constraint on the number of items allowed within the column. Nothing actually prevents you from moving more items into the column and exceeding the limit. Your Kanban board shows the count of items at each stage next to each limit.
While setting WIP limits is simple, adhering to the limits takes a team commitment. Successful adoption of WIP limits involves a culture change. It moves teams from a focus on individual productivity to one of team productivity.
Determine initial WIP limits
To get started, have your team determine the initial WIP limits to set and how they'll use and monitor them. Beyond that, few rules apply to what numbers to set as they can vary based on several factors. Here are two guidelines to help you determine what limits to set:
Set limits based on current works in progress. Count the items present in your existing Kanban columns.
Set limits that don't exceed 2 or 3 items per team member that works within a stage. For example, if you have three team members and each team member can work on no more than two tasks at a time, the resulting WIP limit is 6 (= 3 developers X 2 tasks/developer).
Starting low may help your team discover bottlenecks more quickly and identify process issues to address.
After you've defined an initial set of WIP limits, you'll likely want to fine tune them as your project progresses.
If you're new to Kanban, review Kanban basics to get an overview of how to access your board and implement Kanban.
Keep within WIP limits
After you've set your WIP limits, you'll want to track how well your team keeps within the limits.
Respecting WIP limits means teams don't pull items into a column if doing so causes the number of items in the column to exceed the column limit. When they do, your Kanban board provides immediate feedback. This feedback should act as a signal to the team to focus immediately on activities to reduce the number of items in the column.
Although simple in theory, keeping within WIP limits can force individuals, teams, and organizations out of their comfort zone. Team members who like to multitask might feel unnecessarily constrained. Others might find themselves without work as they wait for work to complete at an upstream stage.
To gain the advantages of constraining work-in-progress, have your team meet frequently to discuss the process changes taking place. As a starting point, consider hosting discussions around some of the challenges and solutions to support successful implementation of WIP limits provided below.
To optimize the flow of value, you naturally want to identify and eliminate bottlenecks. Bottlenecks indicate waste exists in the overall workflow process.
By monitoring your Kanban board over time, you can learn where bottlenecks occur. When several items sit in a column unworked for several days, a bottleneck has occurred. Bottlenecks typically occur when WIP limits are too high. On the other hand, no bottlenecks could indicate that WIP limits are too low.
The free eBook, Kanban and Scrum - making the most of both, provides this guidance:
Too low WIP limit => idle people => bad productivity Too high WIP limit => idle tasks => bad lead time
Taking periodic snapshots of your Kanban board can visually catalog where work flows smoothly and where bottlenecks appear.
Such snapshots can show your team:
- How many items on average reside within a workflow stage/column
- How many items are being worked versus team members who work within a workflow stage/column
- How many and which items remained in a workflow stage/column for long periods of time
- How many items did the team complete at the end of a one, two, or three week period?
Because bottlenecks signal waste in your workflow process, you'll want to identify the source of the waste. Kanban defines waste as anything not strictly needed to produce desired outcomes.
Common wastes in software development include:
- Unused code or features
- Defects that lead to re-work
- Delays or time spent waiting for something
- Handoffs from one person, team, or business process to another
- Insufficient requirements
- Slow or poor communication
Eliminating waste calls for team discussions to identify causes and solutions acceptable to the team. In addition to addressing the challenges and solutions posed by WIP limits, the team may decide to adjust their workflow process or WIP limits.
Set WIP limits
With an understanding of how you'll use WIT limits, here's how you set them. If you haven't yet mapped your team's work flow to Kanban columns, do that first. For information about accessing your Kanban board, see Kanban basics.
Your web portal uses either the New navigation or Previous navigation user interface. Choose the New navigation tab if the New Navigation feature is enabled. You'll see a vertical sidebar along with other navigational features when New Navigation has been enabled for the signed-in user or the organization. Choose Previous navigation when you see a top-level, blue-bar—indicating that New navigation isn't enabled. For more information, see Web portal navigation.
Choose the New navigation tab for guidance. Azure DevOps Server 2019 supports the New Navigation user interface. For more information, see Web portal navigation.
Choose the Previous navigation tab for guidance. TFS 2018 and earlier versions only support the previous navigation user interface. For more information, see Web portal navigation.