# Managing a project risk

> A process map exported from forks.world (https://forks.world). Author: Brian. Source: https://forks.world/p/cmv0kq3x4002hjv06juu5yuck
> It describes who does what, in what order, and with which technology. Read the plain-language sections first; the JSON at the end is the exact, complete data.

## Summary

- 23 steps across 3 layers
- Persona: The team, Project manager, The risk owner, Sponsor
- Technology / systems: The risk register

## How to read this file

- A process is made of **layers**. The main layer is the top level; any step of kind `subprocess` opens a detail layer with its own lanes and steps.
- **Lanes** are either persona (people/roles) or technology (systems). Each step belongs to one lane; `using` lists tools a person uses for that step.
- Step kinds: `start`, `task`, `decision` (its arrows carry the answer as a label), `subprocess`, `end`.

## Managing a project risk

Lanes:
- The team: person / role (id `team`)
- Project manager: person / role (id `pm`)
- The risk owner: person / role (id `owner`)
- Sponsor: person / role (id `sponsor`)
- The risk register: technology / system (id `reg`)

Steps, in the order they run:

1. **Someone spots something that could go wrong** [start; The team; id `r1`]
   - then Log it in the risk register
2. **Log it in the risk register** [task; The risk register; id `r2`]
   - then Assess the probability and the impact
3. **Assess the probability and the impact** [subprocess; Project manager; id `r3`], opens the detail layer "Scoring a risk"
   - then How serious is it?
4. **How serious is it?** [decision; Project manager; id `r4`]
   - if "High" go to Respond now; if "Medium" go to Plan a response and a trigger; if "Low" go to Accept it and watch
5. **Respond now** [subprocess; The risk owner; id `r5`], opens the detail layer "Choosing a response"
   - then Monitor the risk
6. **Monitor the risk** [task; Project manager; id `r8`]
   - then Review the register regularly
7. **Review the register regularly** [task; The risk register; id `r9`]
   - then Did the risk happen?
8. **Did the risk happen?** [decision; The team; id `r10`]
   - if "Yes" go to Run the contingency plan; if "No" go to Close it, or keep watching
9. **Run the contingency plan** [task; The risk owner; id `r11`]
   - then Escalate if the budget or the date is at risk
10. **Escalate if the budget or the date is at risk** [end; Sponsor; id `r13`]
11. **Close it, or keep watching** [end; The risk register; id `r12`]
12. **Plan a response and a trigger** [task; The risk owner; id `r6`]
   - then Monitor the risk
13. **Accept it and watch** [task; The risk register; id `r7`]
   - then Review the register regularly

```mermaid
flowchart LR
  subgraph l_team["The team"]
    n_r1(["Someone spots something that could go wrong"])
    n_r10{"Did the risk happen?"}
  end
  subgraph l_pm["Project manager"]
    n_r3[["Assess the probability and the impact"]]
    n_r4{"How serious is it?"}
    n_r8["Monitor the risk"]
  end
  subgraph l_owner["The risk owner"]
    n_r5[["Respond now"]]
    n_r6["Plan a response and a trigger"]
    n_r11["Run the contingency plan"]
  end
  subgraph l_sponsor["Sponsor"]
    n_r13(["Escalate if the budget or the date is at risk"])
  end
  subgraph l_reg["The risk register"]
    n_r2["Log it in the risk register"]
    n_r7["Accept it and watch"]
    n_r9["Review the register regularly"]
    n_r12(["Close it, or keep watching"])
  end
  n_r1 --> n_r2
  n_r2 --> n_r3
  n_r3 --> n_r4
  n_r4 -->|"High"| n_r5
  n_r4 -->|"Medium"| n_r6
  n_r4 -->|"Low"| n_r7
  n_r5 --> n_r8
  n_r6 --> n_r8
  n_r7 --> n_r9
  n_r8 --> n_r9
  n_r9 --> n_r10
  n_r10 -->|"Yes"| n_r11
  n_r10 -->|"No"| n_r12
  n_r11 --> n_r13
```

### Scoring a risk (detail of step "Assess the probability and the impact")

Lanes:
- Project manager: person / role (id `pm`)

Steps, in the order they run:

1. **Rate the probability from 1 to 5** [start; Project manager; id `a1`]
   - then Rate the impact from 1 to 5
2. **Rate the impact from 1 to 5** [task; Project manager; id `a2`]
   - then Multiply for a score
3. **Multiply for a score** [task; Project manager; id `a3`]
   - then Plot it on a heat map
4. **Plot it on a heat map** [end; Project manager; id `a4`]

```mermaid
flowchart LR
  subgraph l_pm["Project manager"]
    n_a1(["Rate the probability from 1 to 5"])
    n_a2["Rate the impact from 1 to 5"]
    n_a3["Multiply for a score"]
    n_a4(["Plot it on a heat map"])
  end
  n_a1 --> n_a2
  n_a2 --> n_a3
  n_a3 --> n_a4
```

### Choosing a response (detail of step "Respond now")

Lanes:
- The risk owner: person / role (id `owner`)

Steps, in the order they run:

1. **Which response?** [start; The risk owner; id `rs1`]
   - if "Avoid it" go to Change the plan so it cannot happen; if "Reduce it" go to Take steps to lower the odds or the impact; if "Transfer it" go to Insure it, or hand it to a supplier; if "Accept it" go to Do nothing, but keep a reserve
2. **Change the plan so it cannot happen** [task; The risk owner; id `rs2`]
   - then Record the choice in the register
3. **Record the choice in the register** [end; The risk owner; id `rs6`]
4. **Take steps to lower the odds or the impact** [task; The risk owner; id `rs3`]
   - then Record the choice in the register
5. **Insure it, or hand it to a supplier** [task; The risk owner; id `rs4`]
   - then Record the choice in the register
6. **Do nothing, but keep a reserve** [task; The risk owner; id `rs5`]
   - then Record the choice in the register

```mermaid
flowchart LR
  subgraph l_owner["The risk owner"]
    n_rs1(["Which response?"])
    n_rs2["Change the plan so it cannot happen"]
    n_rs3["Take steps to lower the odds or the impact"]
    n_rs4["Insure it, or hand it to a supplier"]
    n_rs5["Do nothing, but keep a reserve"]
    n_rs6(["Record the choice in the register"])
  end
  n_rs1 -->|"Avoid it"| n_rs2
  n_rs1 -->|"Reduce it"| n_rs3
  n_rs1 -->|"Transfer it"| n_rs4
  n_rs1 -->|"Accept it"| n_rs5
  n_rs2 --> n_rs6
  n_rs3 --> n_rs6
  n_rs4 --> n_rs6
  n_rs5 --> n_rs6
```

## Full data (JSON)

```json
{
  "title": "Managing a project risk",
  "maps": {
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "team",
          "name": "The team",
          "type": "person"
        },
        {
          "id": "pm",
          "name": "Project manager",
          "type": "person"
        },
        {
          "id": "owner",
          "name": "The risk owner",
          "type": "person"
        },
        {
          "id": "sponsor",
          "name": "Sponsor",
          "type": "person"
        },
        {
          "id": "reg",
          "name": "The risk register",
          "type": "system"
        }
      ],
      "steps": [
        {
          "id": "r1",
          "kind": "start",
          "lane": "team",
          "next": [
            {
              "to": "r2"
            }
          ],
          "uses": [],
          "label": "Someone spots something that could go wrong"
        },
        {
          "id": "r2",
          "kind": "task",
          "lane": "reg",
          "next": [
            {
              "to": "r3"
            }
          ],
          "uses": [],
          "label": "Log it in the risk register"
        },
        {
          "id": "r3",
          "kind": "subprocess",
          "lane": "pm",
          "next": [
            {
              "to": "r4"
            }
          ],
          "uses": [],
          "child": "m_assess",
          "label": "Assess the probability and the impact"
        },
        {
          "id": "r4",
          "kind": "decision",
          "lane": "pm",
          "next": [
            {
              "to": "r5",
              "label": "High"
            },
            {
              "to": "r6",
              "label": "Medium"
            },
            {
              "to": "r7",
              "label": "Low"
            }
          ],
          "uses": [],
          "label": "How serious is it?"
        },
        {
          "id": "r5",
          "kind": "subprocess",
          "lane": "owner",
          "next": [
            {
              "to": "r8"
            }
          ],
          "uses": [],
          "child": "m_respond",
          "label": "Respond now"
        },
        {
          "id": "r6",
          "kind": "task",
          "lane": "owner",
          "next": [
            {
              "to": "r8"
            }
          ],
          "uses": [],
          "label": "Plan a response and a trigger"
        },
        {
          "id": "r7",
          "kind": "task",
          "lane": "reg",
          "next": [
            {
              "to": "r9"
            }
          ],
          "uses": [],
          "label": "Accept it and watch"
        },
        {
          "id": "r8",
          "kind": "task",
          "lane": "pm",
          "next": [
            {
              "to": "r9"
            }
          ],
          "uses": [],
          "label": "Monitor the risk"
        },
        {
          "id": "r9",
          "kind": "task",
          "lane": "reg",
          "next": [
            {
              "to": "r10"
            }
          ],
          "uses": [],
          "label": "Review the register regularly"
        },
        {
          "id": "r10",
          "kind": "decision",
          "lane": "team",
          "next": [
            {
              "to": "r11",
              "label": "Yes"
            },
            {
              "to": "r12",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Did the risk happen?"
        },
        {
          "id": "r11",
          "kind": "task",
          "lane": "owner",
          "next": [
            {
              "to": "r13"
            }
          ],
          "uses": [],
          "label": "Run the contingency plan"
        },
        {
          "id": "r12",
          "kind": "end",
          "lane": "reg",
          "next": [],
          "uses": [],
          "label": "Close it, or keep watching"
        },
        {
          "id": "r13",
          "kind": "end",
          "lane": "sponsor",
          "next": [],
          "uses": [],
          "label": "Escalate if the budget or the date is at risk"
        }
      ],
      "title": "Managing a project risk",
      "parent": null
    },
    "m_assess": {
      "id": "m_assess",
      "lanes": [
        {
          "id": "pm",
          "name": "Project manager",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "a1",
          "kind": "start",
          "lane": "pm",
          "next": [
            {
              "to": "a2"
            }
          ],
          "uses": [],
          "label": "Rate the probability from 1 to 5"
        },
        {
          "id": "a2",
          "kind": "task",
          "lane": "pm",
          "next": [
            {
              "to": "a3"
            }
          ],
          "uses": [],
          "label": "Rate the impact from 1 to 5"
        },
        {
          "id": "a3",
          "kind": "task",
          "lane": "pm",
          "next": [
            {
              "to": "a4"
            }
          ],
          "uses": [],
          "label": "Multiply for a score"
        },
        {
          "id": "a4",
          "kind": "end",
          "lane": "pm",
          "next": [],
          "uses": [],
          "label": "Plot it on a heat map"
        }
      ],
      "title": "Scoring a risk",
      "parent": {
        "map": "m_root",
        "step": "r3"
      }
    },
    "m_respond": {
      "id": "m_respond",
      "lanes": [
        {
          "id": "owner",
          "name": "The risk owner",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "rs1",
          "kind": "start",
          "lane": "owner",
          "next": [
            {
              "to": "rs2",
              "label": "Avoid it"
            },
            {
              "to": "rs3",
              "label": "Reduce it"
            },
            {
              "to": "rs4",
              "label": "Transfer it"
            },
            {
              "to": "rs5",
              "label": "Accept it"
            }
          ],
          "uses": [],
          "label": "Which response?"
        },
        {
          "id": "rs2",
          "kind": "task",
          "lane": "owner",
          "next": [
            {
              "to": "rs6"
            }
          ],
          "uses": [],
          "label": "Change the plan so it cannot happen"
        },
        {
          "id": "rs3",
          "kind": "task",
          "lane": "owner",
          "next": [
            {
              "to": "rs6"
            }
          ],
          "uses": [],
          "label": "Take steps to lower the odds or the impact"
        },
        {
          "id": "rs4",
          "kind": "task",
          "lane": "owner",
          "next": [
            {
              "to": "rs6"
            }
          ],
          "uses": [],
          "label": "Insure it, or hand it to a supplier"
        },
        {
          "id": "rs5",
          "kind": "task",
          "lane": "owner",
          "next": [
            {
              "to": "rs6"
            }
          ],
          "uses": [],
          "label": "Do nothing, but keep a reserve"
        },
        {
          "id": "rs6",
          "kind": "end",
          "lane": "owner",
          "next": [],
          "uses": [],
          "label": "Record the choice in the register"
        }
      ],
      "title": "Choosing a response",
      "parent": {
        "map": "m_root",
        "step": "r5"
      }
    }
  }
}
```
