Jacob Kaplan-Moss

“Where did we get lucky?”

I wrote this post in 2020, more than 6 years ago. It may be very out of date, partially or totally incorrect. I may even no longer agree with this, or might approach things differently if I wrote this post today. I rarely edit posts after writing them, but if I have there'll be a note at the bottom about what I changed and why. If something in this post is actively harmful or dangerous please get in touch and I'll fix it.

Retrospectives are probably the most important software development practice. They build a culture of continuous improvement. We may fail, but we’ll learn and do better next time. (Or, at, least, fail differently.)

The most common retrospective practice revolves around some variation of these three questions:

  • “What went well?”
  • “What could have gone better?”
  • “What we should we differently next time?”

I want to suggest adding a fourth question:

  • “Where did we get lucky? What could/should have failed, but didn’t?”

Sometimes, we do stupid things or take needless risks, but it turns out fine. This can be super-dangerous: we run the risk of learning the wrong lesson — that the mistake or risk was acceptable. We decide it’s OK repeat the dangerous practice because, hey, it worked out last time!

Say, for example, that we scramble to build an app under a tight deadline, release it to users without testing, and everything works out fine. I’ve certainly done this! You probably have too. But if we’re not careful, the lesson we learn might be, “releasing apps without testing is fine.”

So the next time you succeed, don’t just pat yourself on the back. Ask, “where did we get lucky?”