Project Commander Docs ← Back to site

What-If Tab — Feature Guide

What-If Sprint view — sliders, KPI cards, cascade chart with T and P markers
What-If Sprint view — sliders, KPI cards, cascade chart with T and P markers
What-If Sprint view fully populated — left sidebar with the What-If / Simulation toggle, four sliders (Velocity, Issue estimation, Scope, Capacity) each with a status line, and a Reset all to baseline button; right side has the Delivery forecast card (capacity model, demand model, on-target odds and likely finish) and Target date card, the collapsed capacity model × demand model grid, plus the per-sprint Sprint Capacity vs. Remaining Demand cascade chart with under/over capacity colours and T/P markers
What-If Sprint view fully populated — left sidebar with the What-If / Simulation toggle, four sliders (Velocity, Issue estimation, Scope, Capacity) each with a status line, and a Reset all to baseline button; right side has the Delivery forecast card (capacity model, demand model, on-target odds and likely finish) and Target date card, the collapsed capacity model × demand model grid, plus the per-sprint Sprint Capacity vs. Remaining Demand cascade chart with under/over capacity colours and T/P markers

What it's for

The What-If tab is the project's sandbox: a place to test how velocity changes, estimate inflation, scope growth, and capacity changes affect the delivery forecast — without touching real data and without writing anything back. It pairs deterministic what-if sliders with a probabilistic Simulation mode (Monte Carlo) and an AI chat that proposes coherent slider values from a free-form question.

The audience is delivery managers, programme leads, and product owners who need to answer questions like what if we lose Alice for the next sprint?, what if scope grows 20%?, or what if we add a developer? The tab makes the answer visible as a cascade chart, an S-curve, or a dollars-and-deadlines KPI line — and as soon as the user navigates away, the project is exactly as it was before.

The tab has three sub-views — Sprint, Project, and All Projects — and each shows the same Delivery forecast card and capacity-model × demand-model grid the Dashboard and Scope tabs use, so the same number means the same thing everywhere. All Projects rolls the whole program up and, in Simulation, reports the program's odds and which project is the weakest link.

Sub-views (Sprint / Project / All Projects)

Three buttons switch between the sub-views. They sit at the start of the tab's one row of controls, before the What-If / Simulation switch:

The controls row

One horizontal row sits under the forecast cards and above the sliders, on every sub-view. Left to right: the three sub-view buttons, the What-If / Simulation switch, then the display choices.

The All Projects sub-view offers Include backlog only: it has no timeline and no chart, so there is nothing for the other two to act on.

Sprint view

Sliders

Four horizontal sliders, range −50% to +50%. Each is labelled at both ends with what moving it means, and carries a line beneath saying what the current position assumes:

The same four sliders, from one shared definition, appear on all three sub-views.

Velocity and Capacity multiply together when both are non-zero (capacity *= (1 + velocity/100) × (1 + capacity/100)). Issue estimation and Scope multiply together on the demand side identically.

Dragging any slider re-runs the cascade simulation in real time. Releasing the slider commits the value to local component state — there is no save button.

Breakdown by user

A Breakdown by user checkbox (off by default) splits each cascade bar into per-assignee demand segments instead of one aggregate bar, so you can see whose work sits in each sprint. It is a display option only — the four sliders still apply globally; there is no per-member slider override. A Reset all to baseline button returns every slider to zero.

Cascade chart

The right-hand panel is a stacked cascade bar chart. One bar per sprint along the X-axis, in calendar order (sorted by sprint start date — a Jira board's own list order is not always chronological, and the chart never follows it); demand on the Y-axis in points or hours.

(Ghost "baseline" bars behind the active bars are a feature of the Project view's chart, not this Sprint-view cascade.)

A legend below the chart explains the assignee colours, the unassigned grey, the overload cross-hatch, and the capacity line.

Forecast cards + comparison grid

Across the top of the tab — above the controls row, in both What-If and Simulation modes — sit the same Delivery forecast card and Target date card as the Dashboard (the On-plan and Progress cards are hidden, and the two are widened to fill the row). They stay on screen in Simulation so the Target date card's gear is always within reach. That gear and the Target Date field on the Projects tab's Add / Edit Project form set the same date: a project's target lives in one place, its own record, and every screen reads it from there (2026-09-03). The Delivery forecast card carries the projected finish date, work remaining, capacity to target (clipped at the target date — when the plan holds capacity beyond the target, an extra line states N pts capacity available after target date), the on-time verdict, the chosen capacity model and demand model, the on-target probability and likely-finish range — and the "Complete" / "Never" terminal labels. The odds and the range belong to the date on the card: the simulation measures how much that date could vary, so the middle of the likely-finish range is always the forecast date beside it, and the odds are the odds of that date. Anything the forecast counts — the backlog when Include backlog is on — moves all three together. The same amber notices as the Dashboard card apply here: Efficiency assumed when the Effective model has no measured history, and, when the Team or Effective model comes out at zero while work remains, the sentence saying which of the three states it is — no sprint dates, nobody on the Team & Capacity tab, or people there with no capacity typed. A date that runs past the last planned sprint carries the same Held by … line as the Dashboard card, naming whoever is left holding the work — or work with no one assigned when it belongs to nobody — together with the work still left and the rate it is being cleared at. Its gear opens the capacity-model, demand-model and scope-growth controls. Beneath the cards, the collapsible capacity model × demand model grid shows every pairing at once. The sliders move all of these live with each drag, exactly as they move the cascade chart.

On the cascade chart itself, the purple T pin marks the target date and the green/red P pin marks the projected delivery — both state their calendar dates on hover, and both are positioned by one shared date-to-column rule, so a target beyond the last planned sprint lands on an extension column (grey, with projected calendar dates under each name) instead of snapping back onto the plan. The dashed vertical divider separates the plan from everything after the target date (hover it for the target date), and columns right of it grey out as past-target.

Per-slider risk statement

Each slider has a one-line plain-English statement that updates as the user drags. The statement names the affected sprint (e.g., Overflow begins in Sprint 6, completion pushed to Sprint 9) so the consequence of the slider change is always one glance away.

Simulation (Monte Carlo) mode

Switching to Simulation mode replaces single-point sliders with low/high range pickers and replaces the cascade chart with an S-curve.

Uncertainty ranges

In Simulation mode each variable is a low–high range rather than a single value. The ranges start from a realistic default spread (velocity −15 to +10, estimation −10 to +15, scope −5 to +15, capacity −15 to +10) and can be adjusted. There are no Conservative / Realistic / Optimistic preset buttons — the defaults are simply applied.

S-curve chart

X-axis is sprint index (fractional 0.5 steps allowed). Y-axis is cumulative probability of completing by that sprint.

Simulation KPI row

Above the S-curve:

A one-line verdict sits above the numbers on both the Sprint and Project sub-views: Target likely / Target uncertain / Target very unlikely, followed by how many runs were made, what the sub-view steps by, and the four ranges they were drawn from — 2,000 runs · stepped by sprint · … and 5,000 runs · stepped by calendar week from issue due dates · …. The verdict reads from the same on-time bands as Finish on Time? beside it, so the two can never disagree; and because each line names its own basis, the two sub-views giving different odds for one project explains itself.

The sprint the odds are measured against is the project's target date resolved to a column — the same shared computation the Target date card shows, extending past the last planned sprint when the target falls beyond the plan; only when no target date exists does it fall back to the last sprint with demand. There is no separate target control on this tab: the Target date card's gear is the one place the target is set, and that card stays on screen in Simulation mode.

The weekly chart and the Delivery forecast card above it share one weekly capacity rate: every chart week's capacity bar equals that rate, and the card's Capacity to target equals the same rate over the weeks between today and the target (clipped at the target; the current week — and, with sprints on, the active sprint — contributes only its remaining day-fraction, ruling 2026-07-10). When the plan's due dates cover every week up to the target, the chart's bars up to the target sum exactly to the card's figure; weeks with no due work draw no bar, so on sparse plans the bar sum can be less than the card.

AI Chat (Sprint view)

A chat card sits below the cascade chart with placeholder text Ask a question about the project… and an Analyse button.

The user's free-form question is sent along with a structured payload: per-sprint capacity / demand / overflow, per-issue details, team context, per-assignee workload, time off, holidays, velocity history, backlog summary, and a one-line current-status string (On track, 2 sprints late at baseline, etc.).

The model returns a structured answer with these parts:

The four sliders are written back from the suggested values, clamped to ±50. Per-sprint deltas are validated against the actual sprint name list and applied as absolute values to the sprint's capacity and demand. The cascade chart re-runs immediately with the new inputs; the user sees the slider positions move and the bars shift.

The AI never computes the forecast itself — it only proposes adjustments, and the deterministic engine applies them.

No-key state

When no AI API key is configured in Settings → AI Features, the chat box reads Add your Anthropic API key in Settings → AI Features to enable AI analysis and the textarea / button are hidden.

Loading / error

While the AI call is in flight the Analyse button reads ⏳ Analysing… and is disabled. Auth errors are caught and shown as Invalid API key. Check your key in Settings → AI Features. Other errors render the model's error text.

Project view

What-If Project view — weekly cascade chart with T/P markers and weekly capacity bars
What-If Project view — weekly cascade chart with T/P markers and weekly capacity bars
What-If Project view fully populated — same left sidebar of sliders, weekly Capacity vs Demand bar chart with eight weeks, under-capacity (green) / over-capacity (red) / past-target (grey) bars, capacity line overlay, T (target) and P (projected) markers, plus the
What-If Project view fully populated — same left sidebar of sliders, weekly Capacity vs Demand bar chart with eight weeks, under-capacity (green) / over-capacity (red) / past-target (grey) bars, capacity line overlay, T (target) and P (projected) markers, plus the "Ask a What-If Question" AI chat box at the bottom

Same chart and chat shape as Sprint view, but the X-axis is ISO calendar weeks (Mon–Sun) and the demand is bucketed by the issue's due date. When an issue has both start and due dates the demand is spread evenly over the spanned weeks, prorated by the weekday-overlap fraction (a week the range only touches Mon–Wed counts as 3/5 of the issue's weekly share).

Undated issues alert

Issues without a due date can't be placed on the weekly timeline, so they are called out in a small ⚠ alert beneath the chart — "N issues without dates — not shown in the chart" — listing the issue keys when there are ten or fewer, rather than dropping them silently.

Simulation result cards

Switching the Project view to Simulation mode runs a Monte Carlo forecast and shows four cards above the probability-distribution chart. The week they are measured against is the project's target date resolved to a week; as on the Sprint sub-view there is no separate target control here, because the Target date card at the top of the tab is the one place the target is set. The four are On-target probability (the share of simulation runs that finish by the target week), Finish on Time? (Yes / Maybe / No read from that same run probability at the shared 70%/50% bands — the identical rule the Sprint sub-view uses, so it reacts to the sliders), Expected slip (the average delay past the target across the runs that missed it, shown as None or +X weeks, with the percentage of runs that missed), and Feasibility (a 0–100 plan-feasibility score banded High / Medium / At Risk / Critical — capacity vs demand, delivery timing, over-capacity periods, and overflow; the rule is ALGORITHMS section 8).

AI Chat (Project view)

Same structured answer and rules as the Sprint view, and the payload is week-bucketed. The one difference: the Project view applies only the chat's suggested slider values — it does not apply the per-sprint adjustments the way the Sprint view does.

All Projects view

What-If All Projects — Simulation mode: program on-target probability, finish-on-time and expected slip, the probability-over-time curve, and the weakest-links table sorted worst-first
What-If All Projects — Simulation mode: program on-target probability, finish-on-time and expected slip, the probability-over-time curve, and the weakest-links table sorted worst-first

The third sub-view has no timeline — it rolls every project up into one program forecast, the same rollup the Dashboard's Program View and the Scope program view use. It follows the project picker at the top of the tab: with Program view selected it covers every registered project; pick a single project and it shows just that one.

The What-If / Simulation switch sits on the shared controls row, the same as the Sprint and Project sub-views, with Include backlog beside it.

What-If mode

Simulation mode

Flipping to Simulation swaps the sliders for uncertainty ranges (a low–high band per variable) and replaces the per-project table with the Program Delivery Probability panel:

The program odds work by forecasting each project on its own, running the sprint-based ones many times, and combining them so that in each run the program finishes with its latest project. If no project in the program runs on sprints with a team, no probability is shown (the same way a single sprintless project shows none). Each project is forecast on its own team's capacity, with that project's allocation from the Team Allocation Matrix (Projects tab) applied — so a person split across projects is counted at their allocated share, not at full capacity on each.

Cross-cutting modes and empty states

How the numbers are computed

Effects on other parts of the app

© 2026 Project Commander · projectcommander.app · Support · Privacy · Security · Terms