In the pursuit of cake
Good team dynamics is a critical part of a healthy agile team, so as we were reflecting on our general health and happiness in a bi-weekly retrospective meeting, we decided that we wanted to tackle a team building exercise together.
We considered downloading a kata training exercise from the web and working together on a somewhat contrived coding challenge, but chose instead to refactor some of our much neglected legacy code. We agreed that the goals would be simple:
- write unit tests;
- commit code at the end of the session;
- have fun and eat cake.
And we did.
We refactored a small portion of code and added unit tests. We were very strict about staying focused on the code that we had agreed to improve. Changes were discussed as we made them and there were a number of interesting points that came up, especially around writing of unit tests. We managed to collaborate and avoid the obvious potential downsides of having several people in a room: keeping the discussion focused on the task at hand and only having a single keyboard. After the session, a Git pull request was created and, after review, merged into our master branch. And we did eat quite a bit of cake as part of what turned out to be a fun lively session.
So what did we learn?
- we discovered a shared passion for writing good, clean code;
- we improved our shared knowledge of the system;
- we discovered how strongly opinionated we are, yet able to come to consensus as a team;
- we learned from each other.
OK, perhaps crowd programming is not the most efficient way to refactor legacy code. However, it is a very worthwhile exercise to sit down with your team mates and reaffirm a common perspective and mind-set.
And eat cake.
About the author:
Ian Reay works as a software developer on the IG Public API team.