Agile Software Development Best Practices: Retrospectives

As the word suggests, a retrospective is a meeting where a team steps back and examines how it is doing. Retrospectives are common to nearly every agile approach I know. Even one of the simplest agile methodologies –“Crystal Clear” – includes retrospectives as one of its 3 practices. (The other two are sitting together and delivering working software frequently).

It’s not difficult to understand why this is. The “Manifesto for Agile Software Development” states that we “value . . . individuals and interactions over processes and tools.” What this means is that there is no one perfect process that will guarantee you project success. Instead, you are more likely to be successful if you focus on the specific people on your team and ensure that their interactions are healthy and useful in your specific context. That’s precisely where the role of retrospectives comes in.

Agile teams hold retrospectives periodically, typically once per iteration. In the retrospective session, the team suspends its usual discussion about what they are building and considers instead how they are working together. The team talks about what’s working and what’s not, what they can do more of and what behaviors or practices they should eliminate. Most importantly, they generate ideas for how they might improve. Through the diligent application of successful retrospectives, each team evolves its own customized process over time that is optimized for its unique situation..

While it’s difficult to overstate the importance of retrospectives, this is a practice that too often gets neglected, often for one of the following two reasons:

  • Boredom – The team gets tired of meetings that follow the same, predictable pattern and often re-hash the same issues repeatedly.
  • Apathy – It’s easy to feel like other activities are either more urgent or more important than holding the retrospective “just this once.” This can quickly become a pattern, particularly if no one seems to care that much.

The keys to addressing these problems are to 1) ensure that you have good facilitation for your retrospectives, and 2) experiment with a variety of different retrospective techniques and approaches.

Good facilitation isn’t rocket science, but it does require practice and skill. If you can’t hire or co-opt an outside facilitator for your session, learn how to be a good one yourself. Better yet, have multiple people on the team take turns facilitating—it’s a useful skill in many contexts. If you’re looking for new ideas for your retrospectives, I highly recommend “Agile Retrospectives: Making Good Teams Great” by Esther Derby and Diana Larsen. It includes many different techniques that can help you make your retrospective meetings fun, interactive, and productive.

Watch the video below for more about what makes retrospectives such a vital part of the agile development approach.

Access this video on both Vimeo and YouTube.

Jeff Nielsen

Jeff Nielsen

SVP of Engineering

Jeff Nielsen is 3Pillar’s SVP of Engineering. In this role, he oversees the delivery of technology services to all 3Pillar clients. Jeff is responsible for all development processes in the company and manages numerous global client-based engineering teams.

Prior to 3Pillar, Jeff was the CTO and SVP of Delivery at the Santeon Group, where he ran their global software development initiatives and their agile coaching practice. At Santeon he provided executive-level coaching to federal agencies and Fortune 100 commercial clients making large-scale transitions to agile. As Head of Engineering at TrapWire for three years, he oversaw more than 50 production releases of the company’s flagship SaaS product. Jeff was also Vice President/Chief Scientist at Digital Focus, pioneering their use of agile methods in early 2001. Jeff has worked with a number of organizations – from startups to multibillion-dollar firms – over the course of more than a decade to help them improve their software development processes.

Jeff holds M.S. and M.A.Ed. degrees in Computer Science and Instructional Technology from Virginia Tech and a Bachelors in Music from BYU.

One Response to “Agile Software Development Best Practices: Retrospectives”
  1. Ben Linders on

    I recognize the reasons that you mention why teams might skip retrospectives. The best advice for boredom that I can think of is to use different exercises in retrospectives, depending on the situation at hand, what has happened in the iteration, and which kinds of improvements the team is looking for.

    Apathy can be addressed by making improvement actions visible and do frequent follow up – not only in the retrospective meeting. Put them om the task board, add them to your backlog, pull them into discussions in your stand-up, etc.

    Although these are small things, they can make a huge difference to make your retrospectives more valuable.

    Ben Linders
    Co-author of Getting Value out of Agile Retrospectives – Toolbox of Retrospective Exercises

Leave a Reply