Search
Close this search box.
Search
Close this search box.
Search
Close this search box.

Limiting Work in Progress (WIP) – some anecdotes worth thinking about when using Kanban with Scrum

Facebook
Twitter
LinkedIn
Pinterest
WhatsApp

Co-Creating and teaching the new Scrum.org Professional Scrum with Kanban class has given me an opportunity to get back to geeking out on WIP limits, flow metrics, and all things Kanban. And it’s been fun!

One of the key Kanban practices is Limiting Work in Progress. If you want to be pedantic, actually what this practice aims for is Reducing and stabilizing Work in Progress. This improves flow, provides predictability, and is actually even more important for creating a pull-based Kanban system than visualizing your workflow using a Kanban board. I worked with several clients who limited their WIP but didn’t use Kanban boards. One could argue that maybe this practice deserves to be first in the list of Kanban practices, ahead of Visualization.

Anyhow, when a Scrum Team implements Kanban they should definitely figure out how to limit and reduce their Work in Progress. This is a key part of their definition of “Workflow”. First of all, when we say flow we mean flow of valuable items – so flow of PBIs (rather than tasks).

Now, a question comes up: Who should define the WIP Limit? Let’s assume the team is using Kanban to improve the Sprint flow by visualizing and managing flow in the Sprint Backlog. Sprint Backlog is owned by the Development Team so it would make sense for them to own their workflow and specifically the WIP limits in this case.

What if the team is using Kanban from a more holistic perspective, starting from the Product Backlog and including refinement work as well? In this case, it would be the Scrum Team that would own the workflow and therefore would need to discuss WIP limits.

Now, what if the Dev Team actually wants to involve the Product Owner in their Sprint flow – e.g. to review and accept a story during the Sprint before it goes through testing? Who decides whether to do this? Who owns the Sprint Backlog in this case? I think it is the Scrum Team.

Ok, so we understand who defines workflow and therefore WIP limits. Now let’s assume a team is mid-Sprint and there’s an important valuable item the Product Owner wants to add to the Sprint Backlog. It is aligned with the Sprint Goal. The team is currently at its WIP Limit. Could they add this item? Should they? What needs to happen to the WIP limit?

My take on this is that first of all a decision needs to be made on whether to pull this item into the Sprint Backlog. This discussion isn’t related to Kanban at all. It is a core Scrum question and the answer is that it is up to the team to agree to pull a new item into the Sprint Backlog. The Sprint Goal can be used to assess how aligned this item is with the current focus.

In case the item is pulled into the Sprint Backlog, then the Dev Team needs to figure out whether they can actually start it right away. This depends on the WIP limits and the current WIP. If the team is at their WIP they shouldn’t pull in that new item until some room frees up. If their backlog items are pretty small, an empty WIP slot will free up pretty quickly. If items are big, it can take a while.

The longer it might take to get a normal pull slot ready, the more pressure there might be to actually expedite this card. What is expediting? going beyond the current WIP limits and pushing this item along on top of the existing flow. The typical way to do this is NOT to change the WIP limit definition but to go above WIP and note a WIP exception. These exceptions can then be a topic for inspection and adaptation come time to retrospect.

In general, I don’t recommend changing WIP limits on a whim just because there seems to be a need during the Sprint. I’d rather see an exception and discussion rather than hide the problem under a policy change. Most of the time, Scrum Teams should adjust WIP limits during the Sprint Retrospective out of an attempt to create a better flow strategy, not a way to manage at the tactical level. This is similar to the definition of Done. We don’t change the definition of Done during a sprint just because we have a problem creating a Done Increment. We note the exception, maybe even fail to create a really Done Increment, and we discuss the definition during our Retrospective.

One last thing to note about limiting WIP is that while we typically talk about limiting WIP as per-lane constraints on your workflow, this is actually just one specific way to do it. You could limit the amount of work in progress per person, per the entire team throughout their workflow, or actually, you could limit WIP by time. E.g. “we won’t work on more than 10 items this week”. Hey – that sounds familiar! #SprintForecast.

NOTE: Updated to emphasize that we want to limit WIP by valuable PBIs (rather than tasks). Thanks, Giora for suggesting to make that explicit.

Subscribe for Email Updates:

Categories:

Tags:

Certification
Continuous Deployment
Jira
Agile Techniques
Slides
Agile Community
Continuous Delivery
Large Scale Scrum
Agility
Managing Risk on Agile Projects
Professional Scrum Master
System Integration Environments
RSA
Program Increment
Agile Outsourcing
IT Operations
Planning
Implementing SAFe
Kanban Basics
DevOps
Lean Agile Organization
Sprint Iteration
Accelerate Value Delivery At Scale
chatgpt
Covid19
Scaled Agile Framework
Legacy Code
Value Streams
Scrum.org
Kanban Game
A Kanban System for Software Engineering
Agile Product Development
Reading List
Operational Value Stream
Agile Basics
EOS®
lean agile change management
Lean Startup
Limiting Work in Progress
Legacy Enterprise
LPM
Advanced Roadmaps
Jira Plans
Scrum Values
Lean-Agile Budgeting
Agile Testing Practices
User stories
Lean and Agile Principles and Practices
Agile Project
Tools
Continuous Planning
Portfolio for Jira
Introduction to ATDD
Product Ownership
Webinar
Lean Risk Management
Keith Sawyer
Releases Using Lean
ATDD
Agile Games
Change Management
Amdocs
PI Planning
Scrum Primer
Managing Projects
SAFe
Risk Management in Kanban
Iterative Incremental Development
Continuous Improvement
ALM Tools
System Team
Agile Release Management
POPM
RTE
Lean Software Development
Agile Risk Management
Pomodoro Technique
Business Agility
Principles of Lean-Agile Leadership
SPC
Agile Product Ownership
AI Artificial Intelligence
Agile Development
Team Flow
Frameworks
Nexus
Atlaassian
LAB
Agile in the Enterprise
Elastic Leadership
Scrum Master Role
Enterprise DevOps
Implementation of Lean and Agile
Achieve Business Agility
ATDD vs. BDD
NIT
Effective Agile Retrospectives
Agile Marketing
Nexus vs SAFe
Continuous Integration
Jira admin
Agile Project Management
Games and Exercises
Kaizen
Self-organization
What Is Kanban
speed @ scale
Story Slicing
Systems Thinking
Nexus Integration Team
Risk Management on Agile Projects
Agile for Embedded Systems
AI
Kanban Kickstart Example
ScrumMaster Tales
Process Improvement
Agile Exercises
Scrum and XP
Agile Israel Events
Applying Agile Methodology
Hybrid Work
RTE Role
BDD
Spotify
Agile Assembly Architecture
Engineering Practices
Lean Agile
Software Development
ART Success
AgileSparks
Lean Agile Basics
Risk-aware Product Development
speed at scale
Sprint Retrospectives
Agile Contracts Best Practices
Tips
Entrepreneurial Operating System®
Certified SAFe
Professional Scrum with Kanban
Software Development Estimation
Rapid RTC
Sprint Planning
GanttBan
Nexus and SAFe
Agile Program
Product Management
Lean-Agile Software Development
Release Train Engineer
The Kanban Method
Agile and DevOps Journey
Kanban 101
The Agile Coach
WIP
Agile India
Code
Agile
Scrum Master
Perfection Game
Scrum Guide
Agile Mindset
Lean Budgeting
LeSS
An Appreciative Retrospective
Presentation
ROI
Kanban
Introduction to Test Driven Development
Agile Israel
TDD
Lean Agile Leadership
Quality Assurance
Acceptance Test-Driven Development
Development Value Streams
Lean and Agile Techniques
SAFe DevOps
Jira Cloud
Atlassian
Built-In Quality
SAFe Release Planning
SA
Agile Release Planning
Nexus and Kanban
Manage Budget Creation
Coaching Agile Teams
predictability
Agile Games and Exercises
Lean Agile Management
PI Objectives
Scrum
System Archetypes
Kaizen Workshop
QA
Professional Scrum Product Owner
Daily Scrum
Agile Delivery
Scrum With Kanban
Artificial Intelligence
Video
ARTs
Test Driven Development
AgileSparks
Logo
Enable registration in settings - general

Contact Us

Request for additional information and prices

AgileSparks Newsletter

Subscribe to our newsletter, and stay updated on the latest Agile news and events

This website uses Cookies to provide a better experience
Shopping cart