Summary
The basic measures of flow are:
- WIP: The number of items in progress – started but not finished
- Cycle Time: The elapsed time between when an item starts and when it is done
- Throughput: The number of items finished per unit of time (per day, per week, per sprint and so on).
- Work Item Age: The amount of time between when work on an item started and the current time: how long an item has been in progress.
- Flow Efficiency: How much work in progress is actually in progress vs. waiting in a queue.
Work in Progress
This is measured as the number of items that have entered a process but have not yet exited. Typically the number of backlog items that are in the ‘In Progress’ state. This is an important measure for optimizing flow, and Little’s Law clearly shows the relationship between WIP and Cycle Time or Throughput:
Cycle Time = WIP/Throughput
In simple terms, increasing the amount of WIP in a process results in an increasing Cycle Time. This can be visualized using a CFD (Cumulative Flow Diagram), where WIP is the vertical distance between the arrivals line and the departures (done) line. It can be seen that stretching the WIP line will result in a corresponding lengthening of the Cycle Time line (the horizontal distance between arrivals and departures)
Throughput
Throughput is the number of items completed by a process per unit of time. Units can be anything meaningful for your operation: per hour, per day, per week, or per sprint, and so on. On a CFD Chart throughput is the slope of the cumulative done line.
By understanding throughput we can get an idea of how much of a Product Backlog can be completed in a specific time period.
Cycle Time
Cycle Time is the elapsed time from an item entering entering a process and departing. That is. the amount of time an item spends in the ‘In Progress’ state, or the amount of time an item spends as ‘Work In Progress’. Or, the amount of time an item spends inside a process: Between To Do and Done. The Cycle Time Histogram uses past cycle time data to forecast likely delivery times. Percentile lines show the probability of tasks being completed within certain cycle time. Higher percentile lines indicate a higher likelihood of delivering your work on time. These charts can be used to measure cycle time, forecast team performance, and identify areas for improvement. Cycle Time can be visualized using:
- Cycle Time Scatter Plot: horizontal axis represents a selected time frame and a vertical axis represents the cycle time of completed tasks during that period. Dots on the chart represent tasks within a card on the Kanban board
- Cycle Time Histogram: The frequency distribution of the completion times of the tasks in your workflow. The vertical axis displays a frequency and the horizontal axis shows your cycle times.
Work Item Age
Work Item Age (or Age in WIP) measures how long an item has been in progress, that is, is the total amount of time that has elapsed since an item entered a workflow. This metric only applies to items still inside the workflow – hence most appropriate to use at a daily standup event in order to compare active in-flight work to their SLE and look for items that are at risk of missing the SLE. Once an item has exited the workflow, the time spent is its Cycle Time. Work Item Age can be reviewed to determine when an item that has already started is going to finish. A Work Item Age Chart can help focus a Daily Standup. The Work Item Age chart shows the age of items in each state of the workflow, and grades these in terms of expected time spent in each state. Reviewing this chart helps identify stages where items are accumulating (perhaps blocked, or overloading a step in the workflow), and can point to where action/intervention is needed to maintain delivery flow. It can be combined with what the team expects their cycle time to be (referred to as the Service Level Expectation (SLE) – For example a scrum team might have an SLE that says 85% of the Sprint Backlog will be done in 15 days or less). This refocuses the standup from a discussion about what everyone on the team is working on, to a discussion about flow. And, which items might be at risk of not getting to done, and what mitigations can be taken by the team to avoid this. A work Item Age ‘Heatmap’ chart is an excellent tool for visualization of Work Item Age.
Flow Efficiency
Indicates how efficient a team is at processing new work. It measures how much time is spent working on a request compared to the total time it takes to complete it. Or, how much work in progress is actually in progress vs. waiting in a queue. This metric can be used to indicate how much room for improvement is available without changing development processes. The amount work waiting vs in actual progress can be visualized via the following board.
It is hopefully clear from the above representation that what we should be trying to do is to minimize the amount of work sitting idle in any of the ‘Ready for Analysis/Dev/Test states, that is, improve the Flow Efficiency.
Applying Flow Metrics in Scrum
Work Item Aging and WIP are leading indicators and these are the measures that teams should focus on daily in order to proactively manage the flow of work.
Cycle Time and Throughput are lagging indicators (the data is based on work that has already been completed). These are historical data which can be input to Monte Carlo and applied for planning and forecasting purposes. Cycle Time addresses: When will it be done, and Throughput addresses: How much can we do. In both cases, the measures are expressed as a range plus a probability.
A data-driven Scrum Team may primarily use each of the flow metrics per the above chart:
- Sprint Planning: Throughput helps create a realistic forecast for how much work can be done in the next sprint
- Daily Scrum: Focus on WIP and Work Item Age. Item Age points the team to those items at risk of missing their SLE. By monitoring Work Item Age, we get visibility into at-risk items and can take actions to improve flow. Accumulating WIP in any workflow state can point to a number of problems and is worthy of focus during the standup so that appropriate action can be taken.
- Sprint Review: Should include a discussion about what to dop next, priorities, release forecasting. Hence the throughput metric is going to be needed to backup these conversations.
- Sprint Retrospective: Is for reviewing the teams performance (Throughput and Cycle Times), and this can be made much more effective by bringing actual data into the discussion. This data can help a team identify patterns, relationships, and opportunities for improvement. More on Sprint Retrospectives here. Tools for retrospectives here.
Specific charts for visualizing each of the flow metrics are:
- WIP: Cumulative Flow Diagram
- Cycle Time: Cycle Time Scatter Plot, Cycle Time Histogram
- Throughput: Cumulative Flow Diagram, or Flow Run Chart (e.g. Throughput per Sprint)
- Work Item Aging: Work Item Age Heatmap.
It is worth noting that the Cumulative Flow Diagram (CFD) shows 3 of the core flow metrics on a single chart: Throughput, Cycle Time and WIP.
Driving Improvement with Flow Metrics
Retrospectives provide a regular opportunity for teams to improve their operating performance. The Kanban Flow Metrics provide insight into what is helping or impeding the the team’s processes and workflow. A team should set performance goals for themselves: Deliver 85% of stories to done in 10 days or less. Understanding the relationship between Cycle Time, Throughput and WIP enables teams to inspect and adapt their processes and workflows in a highly measurable way. Regular review of this data should be a major part of the improvement process for teams.