I discovered this format during Urbino’s Italian Agile Day 2017. During that event, I enjoyed practicing Test Driven Development (TDD) with other participants, and learning from the facilitators Matteo Vaccari, Stefano Leli and Gabriele Tondi. I liked the format so much that I decided to propose it in Florence, where I live, in order to let developers of my community to enjoy it and have fun together.
Marco Castellani and I decided to propose a Coderetreat of four hours instead of a whole day, to a small group of friends. Mainly to get familiar with the format, and to verify the interest on this type of initiative.
We have organized, as facilitators, two “short” Coderetreat, the latest took place on Saturday 20 January. The event was a success demonstrated and reinforced by the enthusiasm and engagement of the participants.
The event started with a short presentation aligned with the Coderetreat guidelines. This allowed the participants to frame the scope and set expectations for the day. After the initial presentation, we decided to run a short TDD session in pair programming using a very simple kata. In this way, even the inexperienced participants had the chance to taste and practice the dynamics of working in pairs, and using TDD.
To facilitate the understanding of Conway’s Game of Life, we shared with the participants the details of the three basic rules of the exercise. The feedback from the participants was very positive because the sheet was useful to keep the focus on the “business rules” to be implemented.
The event then continued, as planned, with three one-hour sprints during which the participants explored the proposed exercise. The first sprint was certainly the most challenging. Many participants had never developed in TDD and, above all, they found themselves working in pairs with complete strangers. It was immediately evident that communication would be the real challenge of the morning.
For this reason, during the second sprint we proposed to develop following ping pong methodology: in each pair a developer writes the test and the other implements the classes and methods necessary to satisfy the test written by the first. This activity, while introducing further difficulties, had two positive effects: communication was more fluent and development less intricate.
After the first two rounds of exploration, the third sprint gave everyone the opportunity to freely experiment, and the final comments of the participants underlined the evolution that everyone has experienced in approaching the problem and in approaching others.
One of the most difficult rules to follow was to cancel the code created at the end of each sprint. It was interesting to see the reaction of the participants: like when you take the candy away from a child!
The morning ended with a great satisfaction for the experience. On the other hand, I felt a sense of unfinished because we had just warmed the engines up and the morning was over. This is why we are organizing the next Coderetreat Firenze open to all, in March … and this time it will be for the whole day! Special thanks to Giuneco who continue to host and sponsor this initiative.
Save the date: 10 March 2018. Eventbrite sregistrations will open soon.
Hope to see you there!