Some animals are more blameless than others

When blameless post-mortems go wrong

I love the concept of blameless post-mortems, and the kind of meta-thinking that looks for fault in the system rather than the individual. That being said, I’ve sat through so-called “blameless” post-mortems in organizations that prided themselves on having the latest dev culture, and cringed, cringed, cringed. If no-one was actually blamed, what was wrong? Why was it still harrowing?

In this particular incident, a senior dev on another team had left a clear footgun in the code. A junior dev on my own team had stumbled upon it and, as to be expected, shot himself in the foot. The change to the code had caused some minor crashes on production, necessitating the post-mortem. This would have happened to anyone who touched the code, including the most competent and experienced devs. The original code was unnecessarily fragile and only accidentally functioned correctly.

But in the post-mortem, the junior dev was flagellating themselves and offering a mea culpa. To be clear, there were clear mistakes in our process that contributed to the disaster. But flagellation is not the purpose of the blameless post-mortem. In fact, it’s our duty to prevent the post-mortem from degenerating into a one-sided mea culpa.

I thought this would have been obvious. At any moment, I expected the senior dev to come to the rescue with some explanation of how the fragile code they had authored was also a contributory factor in the incident. It never came. Instead, they were quite happy to sit and let the junior dev squirm in agony. And even offer suggestions about other aspects our team had missed.

Sometimes we end up in a place of great difference in whose mistakes it is permissible to articulate. But if it really is okay to fail (and it should be okay to fail), this needs to be evenly applied across the organization. It can’t be an elite group beyond reproach mandating soul-searching in those below them. That would be sheer hypocrisy. The inauthenticity of being expected to be vulnerable but to not, in turn, see vulnerability from those higher up becomes exhausting and humiliating.

If the blameless post-mortem is blameless merely because it’s heretical to imagine certain individuals to have faults, the whole exercise is oxymoronic. It should be blameless because we would otherwise be free to blame but we choose not to. The point is not to blame these peers, but to note that we are all flawed and are all contributors to flawed processes and systems. It shouldn’t be “all animals are blameless, but some animals are more blameless than others.”

Unknown author / Public domain

As for me, why did I not intervene? Why did I not mention the footgun left by the other senior dev in the post-mortem? It was a moment of cowardice that I will always regret. These moments of inauthenticity seem minor, but they soon add up. Each step you take down that route leads to more suffering as the investment in maintaining an untruth increases. To thine own self be true.

Android