Project what-if simulation: compare futures before you cut scope
Emergency meeting: delay release two weeks or cut half the features. The CEO asks "What's the impact of each?" The PM builds a mental spreadsheet. Three weeks later, scope was cut; team burnout spiked from workload shifts; finance discovered a contract penalty nobody modeled. Nobody ran scenarios.
Project what-if scenario simulation via WKFGo's MCP tool simulate_scenario fills that gap. Four scenario types:
delay_release— push the release datecut_scope— remove an epic or feature setadd_people— staffing injectionfreeze_project— temporary halt
Output projects across five dimensions with confidence and assumptions—not a single magic number. Honest partial beats confidently wrong.
Symptoms and cost of deciding without simulation
| Symptom | Cost |
|---|---|
| "Decide now" without modeling | Rework and morale hits within two sprints |
| Spreadsheets outside the PM tool | Stale, disconnected from the task graph |
| Optimism bias on scope cuts | Dependencies ignored; critical path unchanged |
| CFO and CTO mean different things by "delay" | Misaligned commitments to stakeholders |
| No forecast vs actual record | Teams never calibrate; same mistake repeats |
The cost exceeds the thirty minutes simulation would have taken. Customer trust, contract penalties, and engineer burnout compound when leaders commit on anecdotes instead of structured tradeoffs from live task, finance, and capacity data.
Six-step framework before the decision
Step 1: Frame from decision_inbox
Read the inbox item—"cut scope vs delay" must be explicit. If vague, refine with add_decision_item before simulating. Simulation without a clear decision frame produces analysis nobody acts on.
Step 2: Establish baseline with executive_brief
executive_brief role=coo or role=cpo for current-state FACTS. Without baseline, simulation is orphaned. Note dataGaps—if finance is incomplete, CFO follow-up is mandatory before external promises.
Step 3: Run at least two scenarios
Example release crisis:
simulate_scenario type=delay_release projectId=Mobile weeks=2
simulate_scenario type=cut_scope projectId=Mobile epicId=Payments
Compare output dimensions side by side in a wiki table linked to the decision record.
Step 4: Read assumptions explicitly
Each simulation lists assumptions—"contract penalty not in model" is a red flag for CFO follow-up via finance_summary. Low confidence is not rejection; it means decide with monitored metrics next week.
Step 5: Debate with officers who disagree
Use CEO board.tensions from executive_brief when CFO and CTO lenses conflict. Choose delay when contract allows slip and quality gates fail. Choose cut when date is immovable and epic is loosely coupled. Simulation makes the heuristic explicit—not a rigid rule.
Step 6: Resolve, record, and communicate
resolve_decision_item plus record_decision—forecast logged for calibration trend. PM message template: "We modeled delay vs cut. Delay: [timeline impact]. Cut: [scope impact]. Assumptions: [list]. Decision Friday—questions on card RELEASE-12."
What to expect from simulate_scenario output
The tool honestly reports dataGaps—if finance is incomplete, projections are partial. Five typical dimensions include delivery timeline, capacity/load, budget impact, risk exposure, and stakeholder signals—exact labels come from tool output.
delay_release example (conceptual): +14 days ship, temporary capacity relief then crunch, possible penalty in assumptions, medium confidence.
cut_scope example (conceptual): ship on date, redeploy to critical path, revenue defer needs CFO input, medium-low confidence if epic links incomplete.
Anti-patterns
- Simulating after announcing the decision—theatre that wastes trust.
- Only one scenario—false binary hides hybrid options.
- Ignoring assumptions—surprises guaranteed at demo week.
simulate_scenariowithout projectId—wrong graph, wrong answer.- Treating 90% confidence as guarantee—these are hypotheses, not oracle output.
- Skipping
record_decision—calibration and retros lose the forecast trail.
WKFGo in the decision stack
| Stage | Tool |
|---|---|
| Queue | decision_inbox |
| Evidence | executive_brief |
| Options | simulate_scenario |
| Commit | resolve_decision_item |
| Audit | record_decision, search_decisions |
| UI fallback | /dashboard, /reports, /projects/:id/finance |
Simulation uses the same task, finance, and capacity data as Kanban—one graph. Git integration surfaces pipeline status for CTO lens. flow_aging and flow_cfd inform whether delay actually relieves bottlenecks or just moves crunch.
When to use freeze_project and add_people
freeze_project fits incident recovery, contract renegotiation pause, or team restructure—not weekly panic. Confidence should be low plus documented external shock.
Before add_people, include onboarding ramp and Brooks-law limits in assumptions. Simulate without CFO sign-off on headcount equals incomplete decision.
FAQ — project what-if simulation
Does it replace Monte Carlo simulation?
No—heuristic projection for operational PM decisions; fast support, not actuarial precision.
Can we run multiple scenarios at once?
Yes—compare two to four; more causes analysis paralysis without better decisions.
What about permissions?
FeatureAccess applies—finance dimensions may be partial if the caller lacks access. Fix roles, do not bypass with admin keys.
How do we calibrate after release?
Next executive_brief trend shows whether the forecast was accurate. Log assumptions in wiki for six-month lookback.
Next step
Pick one at-risk release this week. Run delay_release and cut_scope side by side. Log the result in decision_inbox before the steering meeting—not after.
Measuring progress without fake benchmarks
Track observable behaviour over four to six weeks: percentage of assigned tasks touched weekly, status meeting duration, blocker age on cards, and decisions logged in wiki or decision_inbox. If metrics stall after tooling changes, fix board hygiene and permission policy before adding more software.
Permission discipline across UI, chatbot, and MCP
WKFGo resolves identity through JWT or personal wk_ keys and applies FeatureAccess on every tool call. Test with a contractor account before org-wide rollout. Forbidden responses mean permissions work—do not bypass with shared admin tokens.