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!