Monday, December 19, 2016

Being Agile: Best Practices For A Retrospection

#SridharPeddisetty #Agile #BeingAgile #Scrum #Motivational #ProjectManagement #Management #AgileBestPractices #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, bunch of smart technical people coming together & figuring it out all by themselves on what business value to deliver. Being Agile is about aligning the core Agile principles with the Org strategic goals and then enforcing the following of those 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.

Why Retrospection?
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 my earlier post Everyone's Perspective Is Key In Retrospectives, I had shared why its 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
  1. People
  2. Process
  3. Technology & 
  4. Tools
For having a productive retrospection, my recommendation would be for retrospection meeting participants to come prepared with some specifics in terms of above components. Keeping above components in mind, team can be specific about what went well in sprint or project, things that can improve for next sprint or project. For instance, some discussion points could be around 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 team’s or individual impediments in a timely fashion? 

  • Did we use 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 relevant tool for managing requirements & measuring progress?
  • Did we make the best use of relevant tool to efficiently measure quality of our code?
  • Did we make the best use of relevant tool to measure our testing to ensure quality alignment? 
  • Did we make the best use of relevant tool to provide communication transparency on status, quality, etc.?
  • Did we make the best use of relevant tool to optimize collaboration among team(s)? 

Its important for us to celebrate our successes & failures and retrospectives provide us an opportunity to do the same. 

“You can never make the same mistake twice. The second time you make it, its no longer a mistake, its a choice.”

Share your thoughts in the comments section on the best retrospection practices you employ while practicing Agile.