When to use
Use this to run the living register of everything that could or already does threaten delivery: Risks (might happen), Assumptions (believed true, unverified), Issues (happening now), Dependencies (need from others). Reach for it right after the charter and keep it open for the project's life — it feeds every status update.
Not for: deciding what product to build or evaluating feature bets (that is product-management). Not for a company-wide risk framework or compliance register that outlives the project (that is operations). This is a project-scoped delivery log you actively work each week.
Method
- Create four sections: Risks, Assumptions, Issues, Dependencies. Classify each entry — the class drives the response. Decision point: is it happening now (Issue) or might it happen (Risk)? An assumption that proves false becomes an Issue.
- For each Risk: state probability × impact, a mitigation (reduce likelihood), and a contingency (what you do if it fires). Decision point: high×high risks get an owner and an action this week; low×low get logged and reviewed only.
- For each Assumption: name who can confirm it and by when. Decision point: assumptions on the critical path must be validated early, not left standing.
- For each Issue: assign an owner, severity, and a target resolution date; track it until closed.
- For each Dependency: name the providing team, what you need, the needed-by date, and status (link to
proj-dependency-map). - Give every entry a unique id, owner, and next-review date. Never delete — mark Closed with an outcome so history survives.
- Review on a fixed cadence (weekly); pull the top items into
proj-status-update.
Example
R3: "Vendor API rate limit may block launch." P=med, I=high. Mitigation: request quota bump now. Contingency: cache + queue. Owner: you. A2: "We assume the data migration fits in the 4h window" — confirm with DBA by Fri. I1: "Staging DB corrupted" sev-high, owner Sam, due today. D2: "Need auth service from Platform by day 10."
Pitfalls
- Risk/issue confusion. Logging a live problem as a risk delays action. If it is happening, it is an Issue — assign an owner now.
- Mitigation with no contingency. Reducing likelihood is not a plan for when it fires anyway. Write both.
- Orphan entries. Rows with no owner or review date rot. Every entry needs both.
- Delete-on-close. Erasing closed items loses the audit trail. Mark Closed with the outcome instead.
Output format
# RAID: <project> reviewed <date>
RISKS: | id | risk | P | I | mitigation | contingency | owner | review |
ASSUMPTIONS: | id | assumption | confirm-by-whom | by-when | status |
ISSUES: | id | issue | severity | owner | target | status |
DEPENDENCIES: | id | need | from-team | needed-by | status |
(status ∈ open|in-progress|closed; closed rows keep outcome)