Agile Metrics Explained: Work in Progress
What is Work in Progress?
Work in Progress is a simple count of the number of items your team is working on. The metric helps teams focus on finishing what they start, accelerating the flow of work through the team and preventing a build up of stale work that leads to sluggish, unpredictable delivery.
The meaning of “in progress” varies depending on your workflow. For a typical agile delivery team, work is considered to be in progress once the first delivery work commences, and finished once it meets the team’s definition of done.
What does good look like?
The natural tendency of people and teams is to work on too many things at once. We encounter a blocker or impediment that gets in the way of our current work so we decide to start something new.
This keeps us busy, which feels productive, but really we’re masking the underlying problems and reducing the urgency to address them. This leads to a vicious cycle where we keep starting more and more work, but frequent blockers and task switching cause cycle times to become long and unpredictable.
A useful analogy is to think of a highway. At 3am, every car is travelling fast and has a predictable journey time, but there aren’t many cars getting through. Add more cars and you’ll get more throughput, without hurting speed and predictability, but only to a point. Keep adding cars and you’ll exceed the highway’s capacity and end up with a traffic jam. Speed drops dramatically, journey times are unpredictable and no one is getting anywhere.
The traffic lights on highway on-ramps are designed to limit the number of cars on the highway so that traffic keeps moving and throughput is maximised. Limiting work in progress works the same way for agile delivery. By stopping the team from taking on too much, work in progress limits help to keep work flowing for fast, predictable and productive delivery.
There isn’t one “right” level of work in progress, but with a good set of delivery metrics, you can experiment with reducing your work in progress while measuring the effect on delivery. To get you started, however, here are some rules of thumb:
No more than 2 or 3 items in progress per person in your team
A person can only focus on one thing at a time, so it is useful to compare your work in progress to the size of your team. More than 2 or 3 items in progress per person indicates that a lot of work is either blocked, or sitting in queues waiting for someone to pick it up.
Talk to the team about the causes that lead them to switch to new work rather than focus on getting existing work to completion. If the problem is blockers, then work to resolve them. If the problem is queues, then increasing cross-functionality and reducing silos can improve team members’ ability to pick up queued work rather than start new work.
No more than you can complete within your sprint length/cadence
Your sprint length, cadence or target cycle time sets a rhythm for the team, a timeframe within which you want to be able to complete work and get feedback. You can therefore divide your current work of progress by your current throughput to get an idea of how long, on average, it would take to complete the existing work.
For example, if you have 12 items in progress and your average throughput is 2-4 items per week, then it’s likely to take around 3-6 weeks to turn over your work in progress. If your sprint length is just two weeks, then you’re headed for a lot of incomplete work at the end of sprint.
Reasonable work in progress turnover, together with a lack of aging work, indicates good responsiveness and predictability. You can reliably finish what you start, and you go into each sprint planning without a heap of partially completed work weighing you down.
How do I start measuring Work in Progress?
Because work in progress is just a count of work items, it is simple to measure on either physical or electronic team boards. Measure work in progress daily and display it on a chart so that you can notice changes over time.
You can also track work in progress by each of the steps in your workflow, to see where the work is building up: