You only learn you are late at the demo—because nobody forecast from flow
Stakeholders ask "Will we hit the date?" Teams answer with optimism until the week before launch—then scramble, cut scope silently, or ship with known debt. No delay forecasting culture treats dates as promises instead of probability ranges informed by how work actually moves through the board.
Root causes are predictable: work ages in Review, dependencies sit unlinked on cards, scope arrives mid-sprint, and nobody runs simulate_scenario before committing externally. The demo becomes the first honest forecast—and the most expensive place to discover a slip.
Delay forecasting is not psychic prediction. It is reading early signals cheaply enough to use every week: aging, cumulative flow, sprint carry-over, and structured what-if before the steering meeting.
Symptoms and cost of no delay forecasting
| Symptom | Cost |
|---|---|
| Forecast equals contract date | Repeated stakeholder surprise |
| Sprint burndown only | Blind between releases |
| Aging not tracked | Bottleneck seen late |
| Mid-flight scope without re-forecast | New commit on old capacity |
| "Green" until final week | Expensive firefighting and overtime |
| Gantt green while Review queue red | False confidence upstream |
Leaders who only see milestone calendars have not wired delay forecasting into the PM tool—or treat WKFGo as a task list only, ignoring flow_aging, flow_cfd, and release milestones tied to the Kanban board.
The cost lands in customer trust, margin on fixed-price contracts, and engineer burnout when every release ends in a hero sprint nobody modeled three weeks earlier.
Seven-step framework: forecast from flow, not hope
Step 1: Track aging and cycle time
How long do items stay in each column? MCP tool flow_aging highlights work beyond SLA. Median cycle time over recent weeks on /reports sets realistic windows—not hero estimates on epics nobody decomposed.
Start with aging equals 2× median cycle time for the column. Review SLA 48 hours? Flag when Review aging exceeds four days. Tune in month one—perfect day-one thresholds are not required.
Step 2: Read trend, not snapshot
A cumulative flow diagram via flow_cfd shows whether WIP or queue depth is widening. Widening Review band today means longer cycle times next month even if this sprint looks green on burndown alone.
Freshly migrated boards need three to four weeks before CFD and aging trends stabilize—note the baseline start date in wiki so nobody panics at empty history.
Step 3: Run scenario simulation before external promises
Before promising a date to customers or the board: delay the release, cut scope, add people, or freeze other work? simulate_scenario projects multi-dimensional impacts with stated assumptions—compare futures instead of debating anecdotes in Slack.
Log results in decision_inbox and wiki page "Scenario YYYY-MM-DD" linked to record_decision.
Step 4: Watch sprint metrics for carry-over
Committed vs completed, mid-sprint scope additions, carry-over rate. Two sprints of rising carry-over predict slip better than a single burndown screenshot. Hybrid Scrum/Kanban teams use sprint metrics for iterations and CFD plus aging for continuous flow lanes.
Step 5: Communicate ranges honestly
Likely / at risk / will slip—not false precision held for three weeks. flow_aging supplies evidence for customer messages: "At risk due to Review queue depth" preserves trust better than a date you already doubt.
Step 6: Log assumptions in wiki or decision log
Compare forecast vs actual at release retrospective. Without search_decisions history, teams repeat the same optimism bias every quarter.
Step 7: Calibrate after four releases
Learn whether Review, dependencies, or scope change dominates delays—adjust SLAs and WIP rules on /dashboard. Combine finance_summary with aging on fixed-price work so CFO sees whether slip is engineering flow or vendor overrun—different interventions.
Anti-patterns
- Single-point dates on epics without breakdown to tasks on the board
- Ignoring aging because "they're almost done"
- Forecasting in slides disconnected from
/dashboardhistory - No record of forecast vs actual—teams never calibrate
- Running
simulate_scenarioafter announcing the date externally - Treating burndown green as release green when Release column WIP is hidden
How WKFGo supports delay forecasting
flow_aging — items stuck beyond thresholds; every aging item gets an owner action on the card or explicit deferral in decision_inbox.
flow_cfd — pattern recognition plus named items when paired with aging triage.
simulate_scenario — delay_release, cut_scope, add_people, freeze_project before steering meetings.
Releases and task dependencies — milestones and blockers that aging alone might miss when work spans teams.
/reports — throughput and cycle time for weekly ritual without MCP.
executive_brief — leadership lens when aging trends threaten portfolio dates.
get_project_report — meeting-ready summary linking lagging indicators to current board state.
WKFGo does not predict the future perfectly. It makes early signals and structured scenarios cheap enough to use every week—so the demo is confirmation, not discovery.
Practical weekly forecast ritual (30 minutes)
- Pull aging list—triage top ten with owners on cards.
- Glance
flow_cfdfor widening bands—especially Review and QA. - Check release milestone progress on
/dashboard. - If external date at risk, run one
simulate_scenario—minimum two options. - Communicate range to stakeholders—not "maybe Friday" for the third week.
- Log forecast assumptions in wiki; link open tradeoffs to
decision_inbox.
Scenarios where delay forecasting changes outcomes
Product: Sprint green, release slips because QA queue was invisible until flow_cfd showed widening Review. Services: Verbal SLAs—aging not tracked until client escalation. PMO: Gantt green, CFD Review red—steering meeting finally sees the bottleneck. In all three, delay forecasting with aging plus throughput fixes the blind spot before the demo.
FAQ — delay forecasting
Do we need Monte Carlo simulation on day one?
No. Aging plus cycle time plus scope trend covers most B2B software teams. Add statistical methods later if portfolio complexity demands it.
What SLA should we use for aging alerts?
Start with 2× median cycle time in that column; tune after a month of /reports data.
Hybrid Scrum and Kanban?
Sprint carry-over for iterations; flow_cfd and flow_aging for continuous flow lanes on the same board.
Where is simulate_scenario documented?
WKFGo MCP tools at /api-docs—pair with decision_inbox for decisions that follow the forecast.
See slips weeks earlier
Triage today's top ten aging items on the board. Run one simulate_scenario for an at-risk release. Log the result in decision_inbox before the next steering meeting—not after the demo surprise.