Back to Basics: A Retrospective on Retrospectives

Although I am not the iteration manager for our project, I like try to be our project’s conscience (or at least the conscience of whoever our current iteration manager is). Amongst the (many) things I have been reminding our current iteration manager of is the lack of retrospectives. One reason that agile software processes are better off than traditional long running ones is because feedback is a highly valued principle. Small iterations improve the regularity of this feedback which can then be fed back into the process to help the team stay agile with constant changes in the work environment. Retrospectives (post mortems, iteration reviews, etc) are a great way for the team to put together their views and devise strategies for processes that could be improved for the next iteration. The value of small iterations can diminish greatly if no one spends any reflection time to work out whether not things could be done better (and most things can always be done better).

Sailing is a great visual analogy that highlights the importance of retrospectives. On any sailing voyage it generally takes a while to get to its final destination. The navigator is the person whose responsibility is to keep the ship on course for its destination. They also understand the implications if the ship steers off course and is therefore constantly optimising the journey by considering all the questions that could affect the ship’s ability to get there. Are there enough supplies on board? Is there a storm lying ahead of us? Should we visit the exotic island that’s just a little within reach because our passengers would enjoy it? Even if the original journey is never altered, the navigator is constantly asking and reviewing the answers to these questions.

And just like in sailing, it only takes a little deviation over a long period of time to take a software team far from its original goal without someone (and preferably the team) stepping back and reflecting upon each significant league in the journey. An hour now with the team assuring that you are on track is better than an iteration making up lost ground. Performing reflective exercises more regularly will also improve the quality of the feedback as the team works out what sort of feedback is actually important.