BOOK DEEP-READ · SRE · CHAPTER 15

Postmortems: don't chase the person, chase the path that let them fall

Site Reliability Engineering · Ch 15 · John Lunney & Sue Lueder · Google · 2016

中文 →

What is this chapter about?

The site went down, and two hours later it was back. Then what? At most companies the answer is "then nothing" — everyone exhales and goes back to work, and three months later the exact same thing happens again. Chapter 15 of Google's SRE book is about that "then what": writing the incident down, explaining it properly, and turning it into a list of changes that must actually get made. The document is called a postmortem.

An analogy first

Aviation has an old rule: after a crash you investigate the aircraft, not the pilot. Not because pilots never err — often one really did press the wrong switch. But what investigators actually want to know is: why does that switch look identical to the one beside it? Why does the manual disagree with what the cockpit displays? Why did the wrong action look right to him at that moment? Answer those and the next pilot won't press it. Conclude "pilot error" and the switch is still there, waiting for the next person.

The most valuable line in the chapter is the engineering version of that idea: you can't "fix" people, but you can fix systems and processes.

Why the old world was hard

It's hard for a very human reason: the moment you start hunting for someone to blame, people stop talking.

And the information you need lives only in that person's head — what they could see at the time, and why the step looked reasonable. No monitoring system can say it for them. But once they know that speaking up gets logged against them, they'll only mention the parts that couldn't be hidden. Next time, they simply won't report the small stuff at all. So your incident log fills with big outages and looks reassuringly calm, while the small problems quietly pile up in the dark.

The core ideas

Delete the question "who did this?" from the room. The premise is an assumption: everyone involved acted in good faith and did what looked right given the information they had. So the question changes from "who got it wrong" to "why did that choice look right at the time?" This isn't being nice to people; it's a trade. You give up the name, and you get the part of the story only that person knows.

Agree in advance on what forces a postmortem. How long a user-visible failure has to last, any data loss at all, whether someone on call had to get up at night and intervene by hand, how long the fix took, and — whether monitoring missed it and a user noticed first. Why in advance? Because if you argue about "was this a big one?" after the fact, the answer shifts with who's in the room and who's annoyed that day.

The output isn't a document, it's a to-do list. However moving the writing is, without a few lines of "change which system, who does it, by when," it's just an essay. And someone has to actually read it — the book is blunt about this: a postmortem that hasn't been reviewed might as well never have existed.

Old postmortems are the best teaching material. Google's approach is rather fun: dig out a postmortem from months or even years ago and read it together — the people who were there, the bystanders, and the new hires. There's also a rehearsal called the "Wheel of Misfortune": take an old postmortem and re-enact it, with newcomers playing the roles of the people who lived it.

Remember one thing

The tuition has already been paid, and the postmortem is the only move that converts it into something: don't chase the person, chase "why this looked reasonable at the time," because the information you need is only in their mouth; agree beforehand on what must be written up, make sure someone reviews it, and remember the real product is a set of changes tracked to closed. One honest cost: blamelessness is easy to fake — no blame in the meeting, but the incident still shows up at review time. If people can smell that, none of the rest works.

Want the full process, comparison tables and real public postmortems? → Switch to the deep read