Work-in-Process (WIP) is not just the work you are working on. It is anything that has been started and not completed. This means once you have started work on a Minimum Business Increment (MBI), epic or feature, it is WIP until it is released.
Managing WIP is a recurring process. Once you have sequenced your work in the proper order, you can allocate your capacity to the items that are truly most important. Do not start projects that adversely affect more important ones merely to “utilize” your people.
Managing WIP is essential. You are not trying to achieve the “one-piece flow” that Lean-Manufacturing emphasizes; rather, you are trying to avoid working on too many things at one time.
Here are some symptoms for WIP that is out of control.
- People have to wait on other people.
- People are being continuously interrupted by other people.
- There are delays in feedback.
- There is a high multi-tasking cost.
It is clear that if a team works on two things at the same time when they could be focusing on just one the delivery of both will be delayed. But what is not so clear is what happens to the work because of the nature of interleaving work; that is, working on one project and then another and then coming back to the first. These delays in workflow, feedback and using information obtained induces yet more additional work. This is why a one week interruption delays what people are working on by more than a week. The week spent on the interrupting work causes additional work to be done because the effort interrupted cannot just be picked up again without a cost.
Common root causes for too much WIP
Besides the obvious “starting too many things” these also are common root causes:
- running mini-waterfalls in a sprint
- having stories (at the team) or epics (at the program) that are too big
- when something gets completed, people (at the team) or teams (at the program) opening something new instead of helping others finish their work
- having developers and testers not collaborating
- having development teams and shared services not collaborating
- not using ATDD (I am not referring to automation of the tests, but given-when-then is much better than “as a user …” when you get to buildable stories.
Create a focus on finishing
Some people attempt to manage WIP via WIP limits. It is usually easier and more effective to create a focus on finishing. Completion exists at many levels: tasks, stories, features, and MBIs.
- When done with a task, look to finish another task in the same story.
- When done with a story, look to finish another story within the same feature.
- When done with a feature, look to finish a feature within the same MBI. This focus quickens the rate of feedback, both increasing quality and efficiency.
A note on WIP limits
We don’t recommend using WIP Limits. They are not really needed and complicate things. In the early part of the value stream, WIP can be managed just by having teams pull work only when they are ready. Otherwise, the focus on finishing can manage WIP. Too many Kanban implementations don’t focus enough on collaboration and cross-functional teams. In this case they sometimes overcompensate by having WIP limits in place.
Why Disciplined Agile Uses Work in Process and not Work in Progress
We should always use intention revealing names, that is, phrases or names of things that describe what they are referring to. There are currently two phrases for WIP. One is “work in progress” whereas the more accurate is “work in process.” This difference is not academic as the usage of ‘progress’ can lead to bad practices.
Progress means “forward or onward movement toward a destination.” But WIP refers to work that has started but hasn’t been completed. Work may be blocked, that is, not progressing at all. Work in progress (in English) does not include blocked work. But it is WIP. This has led many teams new to kanban to not include items that are blocked (not progressing) towards their WIP limits. This is not effective.
“In process” means “of, relating to, or being goods in manufacture as distinguished from raw materials or from finished products.” English tells us that something blocked is not in progress but is in process.
It’s worth having our words mean what is inferred by their common definitions.
It is worth noting that Scrumban (the first book on Kanban) used process, as does Don Reinertsen’s work.
- DA Value Stream Consultant Resources
- Lean-Agile at the Team: A Lean approach to Scrum and Kanban(online book)
- FLEX Solutions
- Controlling Work-in-Process (WIP)
- How to Ruin a Software Development Organization by Focusing on Throughput
- Focus on Finishing Stories in the Sprint and on Finishing MBIs in the Business Increment
- Running Effective Planning Events
- Flowing Within a Time-box
- Managing Large and Small MBIs
- Developer Practices: Controlling Work-in-Process
- Tester: Controlling Work-in-Process
- Limiting WIP is not the answer by Guy Beaver
- Why Looking at Time Is So Important (PDF)
- Why Delays Cause Waste (Video)
- Don't limit Work-in-Progress by Pawel Brodzinski. States the problem really nicely.