The problem: late discovery of stuck work

Teams notice bottlenecks when dates slip, stakeholders escalate, or someone asks "why is nothing in Done?" Postmortems name Review, QA, or approvals — but the pattern was visible weeks earlier in widening queue bands and cards aging in the same column.

Detecting bottlenecks early is not about more status meetings. It is about flow signals: where work accumulates, how long items sit idle, and whether throughput is stable or eroding.

Why gut feel and Done counts fail

Done count is a snapshot — high completions this week hide a Review queue doubling.

Anecdotes dominate — "QA is slow" without data invites blame, not experiments.

Spreadsheet exports lag — manual CFD builds break when columns rename or history is incomplete.

AI without board history hallucinates — generic chat invents blockers; you need movement logs from the PM system.

Bottleneck detection needs historical column data plus per-item aging.

Framework: pattern → item → cause → experiment

1. Pattern (CFD)flow_cfd stacks item counts per column over time. Widening band = growing WIP or queue at that step. Thick Review/Test band = approval or QA choke.

2. Item (aging)flow_aging flags cards sitting too long in current column — today's standup list, not next month's crisis.

3. Cause (human) — Blocker comment, dependency, approver absence, env down — data shows where; conversation shows why.

4. Experiment — WIP cap, approver SLA, split column, add QA capacity — measure CFD two weeks later.

Observation Likely bottleneck First experiment
Thick Review band Approvals, senior review Approver SLA, upstream WIP limit
Thick Testing band Env, definition of ready Test env fix, DoR checklist
Wide Doing band Too much WIP Personal/column WIP cap
Backlog surge Intake > finish Grooming, limit starts

Where WKFGo fits: flow_aging and flow_cfd

flow_aging

WKFGo flow_aging analytics help PMs:

MCP exposes flow_aging for AI-assisted portfolio questions: "Top aging items on Project Atlas with IDs."

flow_cfd (cumulative flow diagram)

flow_cfd prepares historical column data for CFD views:

Note: CFD needs movement history — freshly migrated boards need a few weeks of data.

AI-assisted synthesis

Connected assistants can combine both: "Summarize bottleneck signals — CFD trend last 14 days plus top five flow_aging items — cite task IDs."

Reading signals without panic

Stable parallel bands — roughly healthy flow.

One band grows — bottleneck there; drill into aging in that column.

Flat Done slope — low throughput — check WIP and blockers.

All bands jump — intake batch without finishing — scope or staffing signal.

Direction matters more than fake precision on slopes.

Getting started this week

Screenshot this week's flow_cfd as baseline. List flow_aging red items in standup daily until cleared or re-assigned. Pick one experiment — WIP cap on Doing or approver SLA on Review. Compare CFD two weeks later; one paragraph in wiki explains the result. Share with stakeholders as "we are addressing the approval queue" — not a statistics lecture.

Freshly migrated boards need patience — wait three to four weeks of movement history before treating CFD bands as authoritative.

Anti-patterns

Bottlenecks hide in Review and Testing columns while In Progress looks busy. flow_cfd shows queue growth over time; flow_aging names the oldest cards. When CFD shows queue growth in Testing, ask whether environments or data fixtures are the constraint before assuming testers need motivation—fix systemic WIP limits and approval policy before adding headcount.

Run a monthly audit: do AI answers cite task IDs from MCP? If not, tighten prompts to require citations before any stakeholder-facing draft leaves the team.

FAQ

How much history does CFD need?
A few sprints or roughly three to four weeks of continuous flow minimum.

Can AI auto-fix bottlenecks?
No — AI surfaces signals; humans change process, staffing, or scope.

flow_aging vs list_tasks overdue?
Overdue is calendar due date; aging is time in current status — complementary.

Where do I access these in WKFGo?
Reports/analytics in-app and MCP portfolio tools.

See the choke point before the slip

Use flow_aging for today's stuck items and flow_cfd for pipeline trends — AI helps synthesize; your team runs the experiment.

Try it now

Put these patterns on live project data—not slide decks.