Being Agile: Best Practices For A Retrospection
“While some of us learn from the mistakes of others; the rest of us have to be the others!”
Being Agile is not just about processes, tools, and a bunch of smart technical people coming together to decide what business value to deliver. Being Agile is about aligning the core Agile principles with the Org strategic goals and then enforcing the following core principles in delivering business value in an iteratively incremental manner.
What is Retrospection?
By definition, retrospection is the action of looking back on or reviewing past events or situations. In the context of Agile, retrospective meetings are held at the end of an iteration or sprint. During the retrospective, the team reflects on what went well in the iteration or sprint and identifies lessons learned & actionable items for improvement moving forward.
If you cannot measure, you cannot improve. Retrospection helps you provide a platform to measure your current status with the goal(s) and an opportunity to do course correction. In an earlier post, Everyone’s Perspective Is Key In Retrospectives, I shared why it’s very important for everyone’s inputs to be considered during the retrospection.
Best Practices for Retrospection
While working on any project there are 4 major components:
For having a productive retrospection, my recommendation would be for retrospection meeting participants to come prepared with some specifics in terms of the above components. Keeping the above components in mind, the team can be specific about what went well during the sprint or project, and improvements for the next sprint or project. For instance, some discussion points could be around the following:
- Did we identify all the right skills needed?
- Did we mentor the team members as required?
- Did we follow RACI matrix as agreed upon?
- Did we manage stakeholder’s expectations as per Backlog/SOW?
- Did we address the team’s or individual impediments in a timely fashion?
- Did we follow best practices in delivery process?
- Did we implement identified improvements in past retrospection?
- Did we standardize our meetings to measure progress & concerns?
- Did we practice continuous improvements?
- Did we address any redundant process(es) that can be discarded or improved upon?
- Did we align technology solutions for optimally delivering business value?
- Did we use coding best practices?
- Did we follow technology best practices?
- Did we use good DevOps, build, deployment & automation best practices?
- Did we employ engineering practices like pair programing, peer code review, etc.?
- Did we make the best use of the relevant tool for managing requirements & measuring progress?
- Did we make the best use of the relevant tool to efficiently measure quality of our code?
- Did we make the best use of the relevant tool to measure our testing to ensure quality alignment?
- Did we make the best use of the relevant tool to provide communication transparency on status, quality, etc.?
- Did we make the best use of the relevant tool to optimize collaboration among team(s)?
It’s important for us to celebrate our achievements, failures and retrospectives that provide us an opportunity to do the same. “You can never make the same mistake twice. The second time you make it, it’s no longer a mistake, it’s a choice.” Share your thoughts in the comments section on the best retrospection practices you employ while practicing Agile.