Patterns for getting to a lower WIP level in a system


The Freeze, No New Work, Limit Later, and some Mashups...

Some of us have the luxury of designing processes for greenfield systems meaning there is no history/legacy to deal with.

Typically though, we are dealing with Brownfield/Legacy systems – This usually means there is some work in the system already, there are outstanding commitments, and some existing queues between steps in our processes.

I’m working with several clients that decided to start using a Kanban system to manage their work, and believe Limited Work in Process is key to improving their performance.

But a challenge most of them share is how to deal with is something along the lines of:

  • We already have a commitment to deliver V10 with 20 features by end of October.
  • Our testing department is backlogged – its still dealing with the previous release V9 while development is already working on those 20 features for V10.
  • V10 is critical to the business.

We then discuss various ways to get from here to there.

The Freeze

Essentially prioritize all work. Anything that is in process but above the WIP limit, goes to the freezer – a new temporary lane/area where work is put on freeze until there is room for it.

The immediate effect would be an acceleration of all work inside the WIP limit, and significant risk to the commitment made about the frozen work. Yes, you say that the original commitment took all the work into account so why is there a risk just due to changes in parallelism? Well, because we focus on the higher priority work, the reality is that we might spend more effort on it, to deliver it with reasonable quality (not necessarily an attribute of previous releases…), we might spend more time investing in Versatility in order to sustain a lower more focused work in process limit. So, it would be prudent to negotiate the commitment level on a couple of lower priority features from the release… and give the business a heads up this might happen.

This is one of the fastest ways to achieve a new inventory/WIP level in the system. If we are looking to show quick results and are able to negotiate a temporary change in service levels with the business, this can be a great approach.

This strategy is elaborated in depth in the Theory of Constraints body of knowledge.

No New Work

This is a more evolutionary version – don’t freeze current work, but deny new work until we reach the desired work in process levels. This means anyone finishing work on something will look at how he can help someone else, instead of starting something new. There will still be effects on the release commitment, but milder ones.

The price we pay here is that it will take more time to reach the new inventory/WIP level. It’s easier to negotiate with the business, but the results will show more slowly…

Visualize now, Limit Later

This is even a more evolutionary version. You start with Kanban principle #1 – Visualize work. You don’t put any WIP limits for now. You see how work looks like, you try to manage WIP, but don’t limit it. Perhaps when negotiating commitments to the next release V11 you take into account a period of cleaning the system/queues and the implications of lowering the WIP, and at that point you go into a Freeze/No New Work period, with a bit more confidence in how this will look like, based on a few weeks/months of visualizing your work.

This clearly is the risk-averse approach. Just be careful of running out of improvement energies and forgetting that just Visualizing Work is not enough…

Differentiated Service

A tweak on all of the approaches above can be to treat different work types differently. This is what we call Classes of Service in Kanban.

For example, Normal work above the WIP limit will be frozen. Fixed date work will hopefully be inside the WIP limit and be allowed to finish. New Fixed date work can be allowed to start, with the condition that a Normal work will be frozen in exchange for introducing it. If all work currently in the system is Fixed Date, we can decide whether to allow the new Fixed date to start (should be a comfort zone for most organizations 😉 or to have a serious discussion with the business on the risks it introduces and how we want to address them.

We can also say we visualize all work, but limit specific types of work.


What do you think about those approaches?

Which of the above did you find useful in real life?

Do you have other strategies for starting up in the real world?

Subscribe for Email Updates:



Portfolio for Jira
Lean Agile Leadership
speed at scale
Operational Value Stream
Agile Release Planning
IT Operations
Nexus Integration Team
speed @ scale
Agile Delivery
Continuous Improvement
Lean and Agile Principles and Practices
Large Scale Scrum
Effective Agile Retrospectives
Continuous Deployment
SAFe DevOps
A Kanban System for Software Engineering
Kanban 101
Agile Outsourcing
Advanced Roadmaps
Agile Israel Events
Release Train Engineer
Software Development Estimation
Scrum Primer
Games and Exercises
Agile Basics
Agile India
Artificial Intelligence
ART Success
Agile Contracts Best Practices
Legacy Enterprise
The Agile Coach
Systems Thinking
RTE Role
Agile Games
Story Slicing
Quality Assurance
Agile Techniques
PI Objectives
Lean Agile Management
Releases Using Lean
Agile Project Management
Applying Agile Methodology
Entrepreneurial Operating System®
Daily Scrum
Kaizen Workshop
Manage Budget Creation
Accelerate Value Delivery At Scale
lean agile change management
An Appreciative Retrospective
Agile Program
Agile Development
Introduction to ATDD
Lean-Agile Budgeting
Continuous Planning
Risk Management in Kanban
Jira Cloud
ScrumMaster Tales
Scrum Master Role
Legacy Code
Principles of Lean-Agile Leadership
System Archetypes
Nexus and SAFe
Lean and Agile Techniques
Agile for Embedded Systems
Sprint Retrospectives
Risk Management on Agile Projects
Lean Risk Management
Risk-aware Product Development
Agile Assembly Architecture
Agile Release Management
Nexus and Kanban
Kanban Basics
Agile Risk Management
Scrum With Kanban
Professional Scrum Product Owner
Iterative Incremental Development
Agile Mindset
Agile Exercises
Built-In Quality
Reading List
Rapid RTC
Scrum Values
Scrum and XP
Kanban Game
What Is Kanban
Lean-Agile Software Development
Agile Israel
Agile Testing Practices
Scaled Agile Framework
Managing Risk on Agile Projects
Implementation of Lean and Agile
Agile Product Ownership
Professional Scrum with Kanban
Agile and DevOps Journey
Lean Software Development
Product Management
Coaching Agile Teams
System Integration Environments
Development Value Streams
Managing Projects
Implementing SAFe
Agile in the Enterprise
Continuous Delivery
Product Ownership
Acceptance Test-Driven Development
Lean Agile Organization
Elastic Leadership
Professional Scrum Master
Continuous Integration
Agile Games and Exercises
Lean Agile Basics
SAFe Release Planning
Jira Plans
Jira admin
Business Agility
Software Development
Pomodoro Technique
Achieve Business Agility
PI Planning
Engineering Practices
Agile Project
Enterprise DevOps
ALM Tools
Lean Startup
Hybrid Work
Test Driven Development
Lean Budgeting
Sprint Planning
Change Management
Lean Agile
Process Improvement
Agile Marketing
Perfection Game
Scrum Master
Agile Product Development
AI Artificial Intelligence
Kanban Kickstart Example
Sprint Iteration
Nexus vs SAFe
Value Streams
System Team
Agile Community
Certified SAFe
Limiting Work in Progress
Introduction to Test Driven Development
Program Increment
Scrum Guide
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