Limit Work In Progress
The main enhancement in the Lean Management over Agile is that Agile emphasize only on
small batch size to deliver quickly (low Cycle Time) whereas lean management increases the throughput by eliminating waste, optimizing value streams, empowering people and continuously improving by incorporation of feedback. The Lean software Management process focuses on creating value for the project owner and for the end user, anything that is not adding value, is considered waste. Hence to maximize value we must minimize waste. To increase the value we must develop ways to identify wastes and then eliminate them.
What is Work-in-Progress and why it should be limited?
Partially done work is incomplete work or Work-in-progress(WIP) that can not be delivered in current delivery. In Lean terms, there is no incomplete work, but only work that remains in process. If a task is started but never completed, it stays as a work in process. The Cycle Time is directly proportional to WIP and inversely proportional to throughput.
Little’s Law
Reducing the cycle time is of extreme importance when optimizing processes. In the above formula, cycle time can be reduced by either:
reducing WIP (the maximum number of items in progress), OR by
Increasing the throughput
In real-life situations, increasing throughput is only possible up to a certain level and is often limited by the availability of physical resources, for example:
the number of people in a team
the number of CPU’s in a server
the number of hours in a working day
…
Thus practically the throughput is increased when we keep the cycle time constant (say your delivery cycle) by reducing the maximum number of items in progress (WIP) during the sprint.
Even Mary and Tom Poppendieck in their book “Lean Software Development: An Agile Toolkit” has identified WIP number one wastes out of the seven wastes of software development which are:
Partially done work (WIP)
Extra Processes
Extra features (overproduction)
Task switching (relearning)
Waiting (delays)
Motion (handoffs)
defects.
Lean principles and Kanban management techniques want to limit too much work in process, so too much incomplete work could mean a failure in project management, problems with assigning priorities, or a breakdown in work intake procedures.
Limiting WIP is a guiding principle for Lean Management; limiting WIP on their own does not strongly predict delivery performance. WIP limits are no good if they don’t lead to improvements that increase flow. It’s only when WIP limits are combined with the use of visual displays and have a feedback loop from production monitoring tools back to delivery teams or the business that we see a strong effect. When teams use these tools together, we see a much stronger positive effect on software delivery performance. In summary, limit WIP
To foster a culture of finishing work, and reduce time to market
To minimize multitasking and chaos
To maximize throughput and exercise a true pull process
How does Limiting WIP help us?
Work in progress (WIP) limits, restrict the maximum amount of work items in the different stages of the workflow. Implementing WIP limits allows you to complete single work items faster by helping your team focus only on current tasks. Most importantly, by applying WIP limits, your team has the opportunity of locating bottlenecks in their working processes before they become blockers.
WIP limits are considered an important prerequisite for delivering value to your customer as fast as possible. This makes WIP limits a valuable asset in Kanban, a Lean Management methodology. The act of restricting WIP helps you optimize work capacity by allowing you to pull new work only if capacity is available.These limits ensure that your team will keep an optimal work pace without exceeding its work capacity leading to burnouts.
When the team implements WIP limits, there are a number of benefits:
The team usually decides to work from the highest priority stories to the lowest, which lets them deliver the most value possible in the sprint.
The team starts to collaborate more to complete features. Work is taken right through to ‘Done’ before the team moves on.
The team completes any integration needed for each story. Any subsequent work need only integrate with the current state of the product.
Work flows through the team more quickly.
How to implement WIP limits?
Once you understand the need for limiting WIP, the issue remains to identify these limits for your project. There is not a predetermined formula that will tell you how to set up optimal work in progress limits. It is a journey in which you have to travel to achieve excellence. Setting the right WIP limits is part of the continuous improvement process. It changes over time when members join or leave the team along with other variable factors like efficiency. A good start would be to review how you deliver your services on a team level and consider how work items are aging on your board.
We normally use a project management software like Jira for visualizing the status of work in progress. A board displays issues from one or more projects, giving you a flexible way of viewing, managing, and reporting on work in progress. There are two types of boards in Jira Software:
Scrum board — for teams that plan their work in sprints
Kanban board — for teams that focus on managing and constraining their work-in-progress
Kanban is based on the continuous delivery of work. Rather than plan iterations, the flow of work is constantly monitored to ensure that there are always tasks being worked on. You can set limits for your work in progress (WIP), which basically lets you set the minimum and maximum amount of work that lives in each column on the board. WIP limits reduce the amount of work nearly done by forcing the team to focus on a smaller set of tasks — essentially improving how your team works all throughout. WIP limits also highlight bottlenecks in a team's delivery pipeline before a situation becomes dire. These benefits guarantee increments of value to the customer sooner, making WIP limits a valuable tool in agile development.
If you have more than 10 issues in either the Selected for Development or In Progress columns, the columns would be colored red at the top:
Applying WIP limits on your Kanban Board will help you to reveal work process blockers and to prevent team members from regular context switching between tasks. The exceeded limits would signal the need to review the process and potentially assign more people to the heavier work stage.
You will set WIP limits according to your team's current work capacity. However, once you set them, you need to observe the work process and adjust WIP limits if needed. After all, every workflow is dynamically changing, and it needs continuous improvement. These steps will have a positive impact on efficiency and will improve your team's productivity.
Common issues and pitfalls?
Having too high WIP limits means that your team is probably working on multiple tasks, switching context (waste) all the time, and not meeting the deadlines. Having low limits on the other side means that when a given item is pending on a 3rd party and your members have to wait (waste).
What these two scenarios have in common is that your team is unproductive and inefficient. To escape from this Limit WIP paradox, you have to carefully monitor your KPIs when you increase or decrease your limits. If you change your team's WIP limits and your KPIs go in the opposite direction of what you'd expect, then you're probably a victim of this paradox, and you have to examine your team's operations closer to ensure smoother flow.
There is one general rule to be sure WIP limits should not be exceeded at any cost unless there is an urgent task that needs to be considered the highest priority.
How to measure Limiting WIP?
Since the tools implementing the WIP limits and visual alerts are displayed for corrective actions it makes sense to validate the throughput of the team which is an easy quantitative measure as all the System data is available with the project management board. The team velocity provided by the cumulative weighted stories during a delivery cycle while meeting the code quality standards gives clear indication of benefits of limiting WIP. The waiting time or idle time display in such systems also provide a clear indication of waste or blockers in smooth flows.
The other measures are qualitative hence a lot of surveys internal and external are performed. Internally to check out burnouts and team satisfaction, as limiting WIP, reduces excess delivery pressure, increases the team collaboration, quick story disposal, promoting more pulls and higher throughput without burnouts.
The external survey provides the customer feedback on quality like Net Promoter Score (NPS) classifies customers into three types — Promoters, Passives, and Detractors. Promoters are customers who are loyal to the business and would also go the extra mile to recommend the business to their near and dear ones. The increase or decrease in customer satisfaction is indicated by NPS analysis.
There are self surveys available to check the organization maturity in setting up WIP limits like this
Add up one point for every question to which you answered ‘yes’.
0-2 points: WIP is not being limited, made visible or measured, or you are not measuring the impact of limiting WIP. There are a number of small but effective measures you can take to begin harnessing the power of limiting WIP.
3-6 points: You are limiting, making visible and/or measuring WIP. You may already be seeing the benefits of reducing WIP, but you may not be measuring the impact or applying WIP limits as broadly as you could.
7-9 points: You have the WIP limits correctly in place and are likely to be seeing the benefits!
We might realize that we are interested in a conceptual measure of system performance which is difficult to measure directly and is better captured through several related measures. Thus, if we collect several metrics, the change in behavior has a better chance of being detected.
Summary
Applying WIP limits allows you to create a smooth workflow and use team’s work capacity at optimal levels by:
Preventing overloading of your work processes
Helping to locate blockers and to alleviate bottlenecks in your workflow
Giving you the opportunity to deliver value to end customers as fast as possible
Preventing a constant context switching between work items