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 at the top of the panel switch between the sub-views:

Sprint view

Sliders

Four horizontal sliders, range −50% to +50%:

Velocity and Capacity multiply together when both are non-zero (capacity *= (1 + velocity/100) × (1 + capacity/100)). 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; 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

Above the cascade chart, What-If mode shows 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). 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 same amber notices as the Dashboard card apply here: Efficiency assumed when the Effective model has no measured history, and Team capacity reads 0… when the Team or Effective model resolves to zero capacity while work remains. 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.

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:

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 five cards above the probability-distribution chart: Target Week (a dropdown that sets the week the simulation is measured against — auto by default, with a * and a Reset to auto link once you override it), 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.

A What-If / Simulation switch sits at the top of the left sidebar, the same as the Sprint and Project sub-views.

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