Skip to content

Incident response

a cross-functional flowchart of incident response in three standalone lanes (On-call engineer, Incident lead, Communications), with terminators, decisions and a mitigation loop.

13 nodes3 groups10 edges
Open full size
Swimlane flowchart of incident response across the on-call engineer, incident lead and communications lanes, from the alert to the postmortemSwimlane flowchart of incident response across the on-call engineer, incident lead and communications lanes, from the alert to the postmortemSwimlane flowchart of incident response across the on-call engineer, incident lead and communications lanes, from the alert to the postmortemSwimlane flowchart of incident response across the on-call engineer, incident lead and communications lanes, from the alert to the postmortem
swimlane-incident-response.yamlOn GitHub
# yaml-language-server: $schema=../references/diagram.schema.json
title: Incident response
subtitle: Who does what from the first alert to the postmortem, as a cross-functional flowchart
kind: flowchart

groups:
  oncall: { type: lane, label: On-call engineer }
  lead: { type: lane, label: Incident lead }
  comms: { type: lane, label: Communications }

nodes:
  alert: { shape: terminator, label: Alert fires, in: oncall }
  ack: { shape: process, label: Acknowledge the page, in: oncall }
  triage: { shape: process, label: Triage the impact, in: oncall }
  impact: { shape: decision, label: Customers affected?, in: oncall }
  fix: { shape: process, label: Fix and monitor, in: oncall }

  declare: { shape: process, label: Declare an incident, in: lead }
  mitigate: { shape: process, label: Coordinate mitigation, in: lead }
  resolved: { shape: decision, label: Resolved?, in: lead }
  review: { shape: process, label: Schedule the postmortem, in: lead }
  closed: { shape: terminator, label: Incident closed, in: lead }

  status: { shape: process, label: Post a status page update, in: comms }
  update: { shape: process, label: Update every 30 minutes, in: comms }
  allclear: { shape: process, label: Send the all clear, in: comms }

edges:
  - alert -> ack -> triage -> impact
  - impact -> fix: "No"
  - impact -> declare: "Yes"
  - fix -> closed
  - declare -> mitigate -> resolved
  - declare -> status -> update
  - resolved -> mitigate: "No"
  - resolved -> allclear: "Yes"
  - update -> allclear
  - allclear -> review -> closed

Start from this one

Copies the spec to diagram.yaml, then renders every format.

$ orrery init swimlane-incident-response$ orrery render diagram.yaml -f all --theme both