Patterns for getting to a lower WIP level in a system

Facebook
Twitter
LinkedIn
Pinterest
WhatsApp

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.

Feedback

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?

Categories:

Tags:

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

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