Skip to content
Practitioner10 min readUpdated September 2026

Flow Metrics A Practical Guide

Flow time, throughput, flow efficiency, flow load and flow distribution — what each one tells you, how to instrument them from an ordinary Jira or Linear board, and why percentiles and Monte Carlo beat averages and estimates.

Most delivery organisations measure output and feel uneasy about it. They count story points, or tickets, or features shipped, and they know at some level that the number is a proxy for activity rather than a description of the system. When something arrives late, the numbers offer no explanation, because they were never measurements of the thing that made it late.

Flow metrics are the alternative, and their appeal is that they describe the system rather than the people in it. There are five, they are cheap to instrument from tooling you already have, and together they answer the questions that actually get asked in a delivery review: how long does work take, how much are we getting through, why is it taking that long, and what are we spending capacity on.

The hard part is not the definitions. It is the statistical discipline required to use them honestly — abandoning averages, abandoning point estimates, and getting comfortable talking about delivery in probabilities. That is a cultural shift as much as a technical one, and it is where most implementations quietly fail.

The five measures

Flow time. Elapsed time from when an item starts to when it is done, measured in calendar days including weekends, holidays and every interruption. Not effort. Not working days. Calendar days, because that is what a customer experiences.

The definition of "starts" is the decision that determines whether this metric is useful. If you measure from the moment work is committed to — pulled into active development — you get a measure of your delivery system. If you measure from ticket creation you get a measure of your backlog's age, which is mostly noise. Measure both if you like, but keep them separate and name them differently.

Flow velocity, or throughput. The number of items completed per unit time, usually per week. Count items, not points. The instinct to weight by size is the instinct that produces velocity and all its pathologies; resist it. If your items vary wildly in size, the fix is to split them until they do not, which is valuable for many other reasons anyway.

Flow efficiency. Touch time divided by elapsed time, expressed as a percentage. If a change took thirty calendar days and somebody was actively working on it for four, flow efficiency is roughly thirteen percent. This is the most diagnostic of the five and the least commonly measured, because it requires distinguishing active states from waiting states on your board.

Almost every organisation that measures this for the first time is shocked. Ratios in the low tens of percent are entirely normal where queueing has not been deliberately attacked. The implication is worth sitting with: most elapsed time is waiting, so interventions aimed at making the work faster address the smallest term in the equation.

Flow load. The number of items in progress at a given moment — work in progress, counted. Watch it against throughput. Rising load with flat throughput is the signature of a system taking on more than it can finish, and by Little's Law it guarantees rising flow time.

Flow distribution. The proportion of completed work by type — new feature, defect, technical debt, risk and compliance. This is the only one of the five that is a deliberate allocation decision rather than an observation, and it is the one that most directly connects delivery data to strategy. A team spending sixty percent of its throughput on defects is not a team with a quality problem to be solved by encouragement; it is a team whose capacity is already allocated, and any new feature request is implicitly a request to change that allocation.

Instrumenting from an ordinary board

You do not need a specialist tool. You need three things from Jira, Linear, Azure DevOps or whatever you have: a timestamped history of state transitions, a consistent workflow, and a modest amount of hygiene.

Define your workflow states as active or waiting, explicitly. This is the whole of flow efficiency instrumentation. Go through every column and label it. "In Progress" is active. "Ready for Review" is waiting. "In Review" is active but usually only for a fraction of its duration, which is why many teams split it into "Awaiting Review" and "In Review" — the split is the measurement.

Add explicit queue states where handoffs are implicit. If work goes from development to test with no column between, you cannot see the wait. Adding a waiting column does not add process; it makes an existing wait visible. This is nearly always the highest-value change to a board.

Make the start and done boundaries unambiguous. Which transition starts the clock, which stops it. Write it down. Then check that people move cards when they do the work rather than in a batch on Friday afternoon, because batched card movement produces data that looks like everything happened at once, which is worse than no data.

Count items of roughly comparable size. Not identical — comparable. If two-day items and two-month epics share a board, split the epics or measure them separately.

Handle the awkward cases with a written policy. Cancelled items, items that go backwards, items that sit blocked, items reopened after done. Each needs a rule. The common mistake is silently excluding cancelled and blocked items, which removes your worst outcomes and makes the data flattering and useless.

A reasonable starting extract is: item ID, type, start timestamp, done timestamp, cumulative time in each state, and blocked duration. That is enough for all five metrics and for forecasting.

Why percentiles beat averages

This is the point on which the whole practice turns, and it is worth being emphatic.

Flow time distributions are not normal. They are strongly right-skewed: a cluster of items that went through cleanly, and a long tail of items that hit something — an unexpected dependency, an absent approver, a rewrite. The mean of such a distribution sits somewhere unhelpful, above most of the data and far below the tail, describing no actual item and supporting no actual promise.

Percentiles describe something real. The eighty-fifth percentile is the number such that eighty-five percent of items completed in that time or less — a statement you can make to a stakeholder and keep.

The practical form is a service level expectation: we complete eighty-five percent of items of this type within N days. Note what that sentence does. It is falsifiable, it is checkable against history, it does not require estimating the item in question, and it carries its own uncertainty rather than hiding it behind false precision.

ApproachWhat it claimsWhat happens when it is wrong
Average flow timeA typical item takes twelve daysRoughly half of everything is late; trust erodes without anyone being able to say why
Point estimateThis item will take twelve daysLate items are attributed to poor estimation and produce pressure to pad
Percentile / SLEEighty-five percent complete within twenty-six daysThe fifteen percent are expected; exceptions are visible and can be escalated

Report the fiftieth and the eighty-fifth together. The gap between them is itself a diagnostic: a wide gap means high variability, which means your forecasts will be weak and your queues will be long regardless of how hard anyone works. Narrowing that gap — by splitting work more uniformly, removing dependencies and limiting load — improves predictability more than any increase in speed.

Reading a cumulative flow diagram

A cumulative flow diagram plots, for each day, the cumulative count of items that have reached each state. Bands stack: the lowest band is items done, above it items in the last active state, and so on up to the backlog. It is the densest single picture of a delivery system available, and it takes about ten minutes to learn to read.

The vertical distance between the top and bottom of a band is the number of items in that state — flow load, per state, over time.

The horizontal distance between two lines at a given cumulative count is approximate flow time.

The slope of the bottom band is throughput. Flattening means delivery has stalled.

What you are looking for is specific shapes:

  • A widening band. Work entering a state faster than it leaves. This is a queue forming, and the band tells you exactly which state. Widening in a waiting state is the clearest constraint signal you will get.
  • All bands widening together. The system is taking on work faster than it completes it overall. Usually the aftermath of a planning event or a reorganisation.
  • A flat done band with everything above it still growing. Nothing is completing. Frequently the signature of a team that has started everything and finished nothing, which is the failure mode that WIP limits exist to prevent.
  • Step changes in the done band. Work completing in batches rather than continuously, which usually means a release gate or a sprint boundary is acting as a batch.
  • Bands that are thin and parallel, with a steady done slope. This is what healthy looks like. It is unexciting, which is part of why it is hard to sell.

One caution: a sudden jump in the top band is usually a bulk import of items, not a crisis. Check before interpreting.

Forecasting with throughput instead of estimates

Once you have a few months of throughput history, you can forecast without estimating anything, and the forecast will generally be better than the estimated one.

The method is Monte Carlo simulation and it is genuinely simple. You have a record of how many items you completed in each of the last, say, twelve weeks. To forecast how long thirty remaining items will take, you simulate: draw a random week from your history, subtract that many items, repeat until you reach zero, and record how many weeks it took. Then do that ten thousand times. The result is a distribution of completion dates, from which you read percentiles.

The output is a sentence of the form: there is an eighty-five percent chance these thirty items are done within eleven weeks. This can be produced in a spreadsheet in an afternoon, or by any number of tools, and it requires no estimation of any individual item.

What makes it better than estimate-based forecasting is not the mathematics. It is that the input is empirical. Your throughput history already contains every source of delay that actually happened to you — holidays, incidents, attrition, the two weeks lost to a compliance audit. Estimates contain none of these, because people estimate the work rather than the calendar, and then the calendar happens anyway. That is the mechanism underneath the reliable observation that projects overrun: not that the work was harder than expected, but that the estimate never included the waiting.

Three conditions for this to work honestly.

Item sizes need to be roughly comparable. Not identical. Right-sizing — splitting until most items fall in a predictable band — matters more than estimating the ones that remain.

Scope growth must be modelled. Backlogs grow as work is understood. If your history shows items being added at some rate, simulate that too, or your forecast will be confidently early.

The history must still be representative. A reorganisation, a platform migration or a halving of the team invalidates the sample. Use recent history, and say so when you present it.

The obstacle is rarely technical. It is that a probabilistic forecast sounds less confident than a date, and some stakeholders read that as evasion. Point out that the date was never confident either; it merely omitted its error bars. A distribution is the same information stated honestly, and stakeholders given it consistently for two quarters generally stop wanting the date.

What to do on Monday

Export the last ninety days of completed items from your tracker with their state transition timestamps. One team, one export, no tooling purchase.

Plot flow time as a scatter — each item a dot, completion date on the horizontal axis, days taken on the vertical. Draw lines at the fiftieth and eighty-fifth percentiles. This single chart will start more useful conversations than any dashboard, because every outlier is a specific item with a specific story that somebody in the room remembers.

Label each workflow state active or waiting, and compute flow efficiency for the twenty most recent items. Expect an uncomfortable number, and expect the waiting to concentrate in one or two states.

Divide your current work in progress count by your weekly throughput. That is your expected flow time in weeks, by Little's Law. Compare it against your eighty-fifth percentile. If the two disagree badly, something is being started that is not being counted.

Then build the Monte Carlo in a spreadsheet and run it against something already committed to. Do not publish the result yet. Compare it to the date currently being promised, and decide what to do about the discrepancy before somebody else finds it.