Aug 25th, 2022

Best Practices


  Written by: Nick Gillam, Senior Delivery Lead

author image

In an earlier article, I discussed how I am a new father. Since that time, my wife and I have been lucky enough to welcome a second little boy to our family. As any parents know, there is a lot of talk about growth in these early years. From height and weight percentiles to behavioral growth milestones. Eventually all these stats get replaced with the generic label of “fully grown adult.” Now I know that this is referring to physical growth, and I’ll accept that in my mid-thirties I’m not going to get any taller. But from a broader perspective, I hope that I am never considered “fully grown”, because that would mean I stop learning from any of my mistakes and fail to appreciate the achievements I reach.

In a similar way, I don’t think a team can ever be considered fully grown. Whether it’s software development or the NFL, teams must continue growing to produce quality software or win games, because success is fleeting without growth. The key, in my humble opinion, is reflection.

In IT, we reflect through a “Retrospective” meeting. At the end of any sprint (at the very least), we meet as a group to discuss what went well, what went poorly, and what we can do to improve in our next iteration. This ceremony gives us an opportunity to celebrate success, recognize shortcomings, and blueprint what needs to be done to avoid making the same mistakes twice.

While a scrum room looks almost nothing like a locker room, NFL teams have a very similar practice. Their reflection, or retrospective, is done through film study. If you’ve watched shows like HBO’s ‘Hard Knocks’ or listened to talking heads on ESPN or local radio, you’ll know that NFL teams and players spend a lot of time watching film. But not just film on their upcoming opponent, they are also dissecting every snap from their last game or practice. This gives the players a chance to see what mistakes they made and develop a gameplan to remedy it. Just as important, it reveals what went well, and reinforces it until it becomes muscle memory.

As the saying goes, the definition of insanity is doing the same thing over and over again and expecting different results. In a fast paced, hard-hitting game like football, the best players are self-proclaimed film junkies. They need to slow things down to recognize what went wrong so they can change the results and celebrate what went right so they can reproduce the results. While nobody would ever consider software development as “hard-hitting”, in an agile environment, it is fast paced. Teams need to gather frequently to discuss what went wrong in the last game (sprint) and put some new plays in their playbook for the next opponent (iteration).