Cumulative Flow Diagram

Reports

Overview

The Cumulative Flow Diagram (CFD) is a stacked area chart that shows how many stories are in each workflow stage over time. Unlike the burndown — which focuses on a single sprint — the CFD reveals the health of your entire delivery process across weeks or months.

The CFD's power is in the width and slope of each band. A band growing wider means work is piling up in that stage. A steep slope on the Done band means high throughput. Flat bands across the whole chart mean nothing is moving.

How to read the chart

The X-axis is time (days or weeks, configurable). The Y-axis is the count of stories. Each horizontal band represents one workflow stage — typically Backlog, To Do, In Progress, In Review, and Done, though the exact stages reflect your project's workflow configuration.

  • The vertical distance of any band at any point in time = the number of stories currently in that stage on that day
  • The width of a band over time = how long stories typically spend in that stage (cycle time for that stage)
  • The slope of the Done band = throughput rate — how fast the team is delivering completed stories
  • The total height of all bands = total stories in flight (your work in progress)

Identifying bottlenecks

The most valuable use of the CFD is bottleneck detection. A bottleneck shows as a band that is getting wider over time — work is entering the stage faster than it is leaving.

Common bottlenecks and their CFD signatures:

  • Code review backlog — the "In Review" band grows steadily. Too many stories waiting for reviewers relative to the number of reviewers available.
  • QA bottleneck — the "Ready for QA" or "Testing" band grows. Development is outpacing testing capacity.
  • Deployment freeze — stories complete QA but can\'t move to Done. The band just before Done widens sharply.
  • Planning backlog — the Backlog band grows faster than stories are started. Grooming is not keeping up with the team\'s pace.

Band signals and what to do

What you seeWhat it meansWhat to do
A band is getting wider over timeWork is accumulating in that stage. More stories are entering than leaving.That stage is a bottleneck. Investigate why work is not progressing through it — too few people, unclear handoff criteria, external wait, or a quality gate that's taking too long.
A band disappears or becomes very thinStories are moving through that stage almost instantly — or the stage is being skipped.If intentional (e.g. a fast review stage), no action needed. If unexpected, check whether stories are moving past the stage without proper review.
The top band (Backlog/To Do) is growingNew work is being added faster than the team can start it.Review backlog grooming. If scope is being added to active sprints, protect the sprint commitment.
All bands are growing at the same rateWork is flowing through the system at a consistent rate. Total WIP is increasing proportionally.Healthy if throughput matches commitment. If total WIP is too high, consider WIP limits per stage.
The bottom band (Done) is growing steeplyHigh throughput — the team is completing work at a fast rate.Good signal. Check that quality isn't being compromised to achieve the completion rate.
Flat bands across the board (no movement)No work is flowing through the system — the whole team is stalled.Check for a major blocker: a system outage, a critical dependency, or an external freeze. Escalate immediately.

Work in progress and flow efficiency

The CFD makes your total work in progress (WIP) visible. High WIP is one of the most common causes of slow delivery — too many parallel threads means context-switching, longer review queues, and stories that sit partially done for days.

A healthy CFD shows a narrow In Progress band relative to the Done band's slope. If In Progress is consistently wider than Done's daily growth rate, the team is starting work faster than finishing it.

Little's Law: average cycle time = average WIP ÷ average throughput. If you want shorter cycle times (faster delivery), reduce WIP. Finishing two stories completely is better than starting six.

Filtering and configuration

  • Date range — default is the last 30 days. Extend to 90 days to see trends; narrow to 2 weeks for a sprint-level view.
  • Story type — filter to show only Stories, Defects, or a mix. Defects often have different flow patterns and are worth examining separately.
  • Assignee — filter to a specific team member to see their personal flow pattern.
  • Granularity — switch between daily and weekly aggregation. Weekly is better for long date ranges; daily for spotting specific events.

Troubleshooting

The CFD only shows two or three bands but I have more workflow stages

The CFD reflects your project's workflow stages as configured in Project Settings → Workflow. If some stages aren't showing, verify they are active and that stories have passed through them during the selected time range.

The chart shows the same date range regardless of the filter I choose

The CFD date range filter applies to the dates stories entered each stage, not the story creation date. If no stories transitioned through stages in your selected window, the chart will appear empty or unchanged. Widen the date range.

I want to show the CFD during a standup but it looks confusing to the team

Focus attention on just one or two things: the width of the In Progress or Review band (is it growing?), and the slope of the Done band (is it steep enough?). You don't need to explain every band — pick the signal most relevant to the team's current focus.

The CFD shows a large spike then a drop

This typically means a batch of stories was created and immediately moved through several stages in one day (e.g. after a planning session or a bulk import). It's not a real flow signal — it reflects a data entry event, not actual work progress.