Agile Metrics Explained: Throughput
This series explains key agile and lean metrics to help you better understand and improve delivery. This post starts off the series with a look at throughput.
What is Throughput?
Throughput is a count of the number of work items completed in a given time period (such as a week, or a sprint). It is a measure of output - how much is getting done. Measuring daily throughput as well as trends over time provides insight into both the rate and rhythm of delivery.
What does "good" look like?
There are a couple of key reasons we care about a team's output or pace:
We use past output to predict future output as an input into planning
To monitor and improve our capacity to get things done
There are a few characteristics of a team's throughput that can help us with this:
Accuracy Like any metric, throughput is only useful if the data accurately represents what's going on. Output measures (such as throughput) are particularly prone to abuse and "gaming" when there is pressure to achieve a fixed scope by a fixed date, or where a team is judged purely on their rate of output.
(Reasonable) consistency It's normal for throughput to fluctuate, as product development is complex work with inherent variance and unpredictability. Instead of thinking of throughput as a single number, consider the normal range for your team (e.g. "We complete between 5 and 9 stories per week, 90% of the time").
It's a common misconception that you need to tightly control variability to achieve predictability (and confidence in a plan). For predicting future delivery, stable trends over time (explained in the next section) are far more important. Your work items do not need to be the same size, it is sufficient that the variance is reasonable (i.e. fits within your sprint/cadence).
A good rule of thumb - slice your work small enough so that each item can be completed within half a sprint (on average). These smaller work items flow through the team more easily, smoothing out variability
Stability Looking at throughput trends over time shows us how our capacity to deliver is changing. Stable throughput can provide more confidence in forecast delivery dates, particularly if we expect our future to look similar to our past. New teams typically take a few weeks to "ramp up" and find their naturally sustainable pace. From this point, the direction of the trend can indicate changes happening in delivery (which may affect future outcomes). There can be many reasons for falling throughput. The work itself may be changing, slicing and/or delivery practices may be changing, or blockers may be more frequent and severe. Talk as a team about what's getting in the way.
Even distribution Try to avoid "lumpy" delivery, where big spikes in completed work are followed by long periods of no throughput. This is often caused by a process that requires almost-finished work to wait for an infrequent sign-off event.
If your team can complete its work evenly over the week/sprint instead, you get greater predictability and a better sense of your normal delivery patterns.
What are the pitfalls to avoid?
A common mistake is to talk about throughput as a single number, for example: "our throughput is 8 stories per sprint". But this number by itself is misleading, as it lacks important information on variability and trend direction (as discussed in the previous section). Try this instead: "We typically complete 11 to 16 stories per week, but throughput has been slowing over the past month".
Avoid comparing teams based on their level of throughput. Teams slice and deliver work in different ways, so a unit of throughput is not interchangeable or comparable. Instead, use the guidance in the previous section to understand what healthy throughput looks like for each team.
Remember that output measures only tell us how much "stuff" we got done, they don't help us understand if we actually created any value. Be careful not to equate team performance with team output, and emphasise measures of value over output.
Finally, it's counter-intuitive, but if you would like to be getting more stuff done, avoid making throughput the focus. Instead, improve the practices and processes that slow work down. Slice work smaller, remove impediments, address technical debt, automate repetitive tasks and increase focus by reducing your work in progress. Throughput is a useful gauge, but a terrible lever.
How do I get started with throughput?
Mazzlo Delivery Analytics makes it easy to understand your throughput rate, variability and trend, with clear visualisations and interpretation in plain English.