The first fifteen minutes are about impact and coordination, not cause. Take ownership, declare the incident, mitigate on the fastest lever available, and keep everyone posted; the real fix comes after.
You're here when
- A page fired, or a customer or colleague reports the product is down or degraded
- Error rate, latency, or queue depth is outside its normal band on the graphs
- A deploy, migration, feature flag, or config change went out in the last hour
- You're first on it and nobody has said "I've got this" yet
The play
- 1Take ownership out loud: post "I'm incident lead for this" so there is exactly one coordinator.
- 2Declare it: open a dedicated channel or doc, set a severity, start timestamping. Over-declaring is cheap; you can always downgrade.
- 3Size the blast radius before touching anything: which users, which regions, which features, total or partial, and is it still getting worse.
- 4Check the last change: any deploy, migration, flag, or config push in the affected window. This is the cause most of the time.
- 5Mitigate, don't fix: roll back, flip the flag off, fail over, scale out, or shed load, whatever restores service fastest, even if it's ugly.
- 6Change one lever at a time and watch the impact metric for a minute before the next move.
- 7Post a status update (internal always, external if customers are hit) with impact, current action, and the time of the next update.
- 8Pull in a second person now: the service owner to dig, or anyone to run comms and keep the timeline while you work.
Which path
A change went out recently
- Roll it back first, ask why afterward.
- If a full rollback is slow or unsafe, disable just the new path: the flag, the route, the worker.
Nothing changed on our side
- Widen the net: upstream provider status, a dependency's incident page, a quota or rate limit, an expired cert or token, a traffic spike or abuse.
- Buy time by shedding load or dropping to a degraded mode while you look.
Gotchas
- 1
Debugging before mitigating
Every minute spent on root cause is a minute of impact a rollback would have already stopped.
- 2
Not declaring because it might pass on its own
Under-declaring loses you responders and the timeline. Downgrading later is easy; reconstructing the first ten minutes is not.
- 3
Stacking fixes
Three changes at once and you will never know which one helped, hurt, or did nothing. One lever, observe, next.
- 4
Going quiet
With no updates, stakeholders escalate around you and add noise. A boring "still on it, next update 15:10" is enough.
- 5
Being the lone hero
A second person running comms and the timeline is worth more than diagnosing it slightly faster on your own.
Confirm you're clear
- 1The impact metric is back inside its normal band and has held there for several minutes.
- 2An update has gone out that says mitigated or resolved, and makes clear which one it is.
- 3The timeline is complete enough that someone else could write the postmortem from it.
- 4There's a named owner for the permanent fix and a retro on the calendar.