Fernando
Fernando Director of Mobile at @Wire. @SoundCloud Alumni. Former @IBM Developer Advocate. Curious Learner. Leadershing and Engineering. Nerdy Geek. Quantum Computing and Science fan.

Learn out of mistakes. Postmortems to the rescue.

Some time ago, I wrote about how to build a company’s culture based on human values, and mentioned a bunch of ideas that I would like to bring back:

  • Understand we make mistakes: there are always good intentions but we are human beings and we are not perfect.
  • No finger pointing: learn out of failure and create retrospectives in order to not repeat those failures again, but please do not blame people, we are always together either in the good moments and when going through difficulties.
  • Be positive: there is always light at the end of the tunnel.

As we can see, these ideas reflect human behavior and attitudes against a problem, thus, I would like to take the opportunity to build on them and explore how we can leverage failures in order to learn from them. Let’s get started!

A culture of lessons learned

I bumped into this inspirational quote and wrote it down some time ago (please ping me if you know the author):

“Whatever you do, you will make mistakes, errors and blunders. Everyone does. Some less, some more, but no one is exempt. Yet, success is nothing more than mistakes you managed to overcome. That is why a mistake is not important. What counts are the things you do after one.

fernando-cejas

In my opinion, it is our reponsibility to minimize failure, but company’s cultures should provide room for failing, and when this happens, we should get something positive and constructive out of it: a lesson learned.

Moreover, let me quote myself:

“Learning something without sharing it, is senseless

We want to share what we have learned:

  • …to gain experience over something new.
  • …to acquire knowledge which will lead to success in similar situations.
  • …to have more tools in oder to recover from similar problems.
  • …to not repeat the same mistake again and again.

The more we fail, the more resilient we become. Let’s let this knowledge to be shared in order to spread and build resilience.”

It is at this point when postmortems come in to play, so in the next section we are going to define what is a postmortem and how this concept can help us to acquire and transmit knowledge based on failure.

What is a postmortem?

“A postmortem (or post-mortem) is a process intended to help you learn from past incidents. It typically involves an analysis or discussion soon after an event has taken place.”

I definitely agree with the definition, but from my perspective, postmortems should not be restricted/limited to only technical issues (outages, technical incidents, failures), because otherwise we miss a lot of valuable information from other areas that are helpful for continuous improvement.

They should also include situational issues we might encounter like:

  • Communication problems.
  • Conflicts.
  • Anything you can learn from.

It is VERY IMPORTANT when writing them to:

  • Use blameless language.
  • Be annonymous without fingerpointing.
  • Be constructive.

Which information should a postmortem contain?

  • An overview to provide context.
  • A description of the problem (what happened?).
  • The root cause (Why it happened?).
  • A resolution (How we solved the issue).
  • A lesson learned.

How we organize this information, is a matter of taste, but we should keep consistency within the format to facilitate/favor readability. Some other extra information that could be useful to include:

  • Screenshots.
  • Tickets.
  • Charts.
  • Timelines.
  • External feedback.

Here is an screenshot of a postmortem out of a situation I experienced recently:

fernando-cejas

Tooling and Templates

There are no silver bullets when it comes to tooling and templates for writing and sharing postmortems.

In the example above I used a simple web using github pages that I created some time ago, but documents, wikis or anything that could be shared company wise is more than valid. I will leave it up to you, the only thing I would add here: make sure they are visible and easy to find.

I have also forked a github repository with a bunch of useful templates that I adapted myself according to my needs.

Wrapping up

Postmortems are a useful tool/technique that can be used in order to contantly improve and learn.

Personally I’m strong believer of building a culture based on the following ideas:

“Make mistakes and embrace them, it is nothing to be ashamed of.”

“Learning something without sharing it is senseless.”

“Foment continuous learning and sharing.”

“Encourage a culture based on postmortems and lessons learned.”

I hope you have enjoyed this article and found it useful. As usual, remember that any feedback is more than welcome, I’m easily found on Twitter and other social networks. Cheers!

Resources and further reading