Run on RAID, not vibes.
Every program I lead comes back to the same four-letter framework — the one already on my desk daily.
Risks — surfaced early
I'd rather raise a risk that never materializes than discover one at go-live. Risk logs get reviewed, not filed.
Assumptions — made explicit
Unstated assumptions are where programs quietly drift. I write them down so they can be challenged, not inherited.
Issues — named, not softened
An issue that's named plainly gets solved faster than one that's managed around. Clear escalation paths, every time.
Dependencies — tracked end to end
Cross-team, cross-vendor, cross-market — dependencies are mapped before sprint one, not discovered mid-release.
The same lens, applied to product.
RAID isn't governance paperwork I keep on the side — each stage of the product cycle leans on a different letter of it.
Frame the problem
User interviews, demand signals, and market context — before a line of scope gets written.
A — assumptions written down before they harden into scopeSequence by value and risk
Prioritise on outcome, effort, and what each bet is blocked by — not on who asked loudest.
D — dependencies mapped before commitments are madeShip in slices
Sprint execution and release planning, with scope held honest against the roadmap.
I — issues named plainly, with a live escalation pathClose the loop
Adoption, CSAT, and retention read after every release — then fed back into the roadmap.
R — risks re-scored each cycle, not filed and forgotten