For most of us a retreat is a place where you can relax, unwind, find solitude or remain in silence. Not quite what our colleagues had in mind when they signed up for a 2-day coding retreat, hosted by Agile on the Beach and run by gurus Kevlin Henney and Jon Jagger.
These are the main takeaways for our Developers:
The main thing I learned about TDD, which really clicked when I heard it, was that writing unit tests for the code you’re about to write is like writing the specification for the code; it forces you to write the code to that specification and shows anybody else how you expect that code to be used.
The code retreat involved a lot of programming solutions for the same problem multiple times, in pairs or threes. I found the pair programming with lots of people of different backgrounds and skill levels to be very interesting, as we came up with a lot of different approaches to tackling the problems. This idea of being able to tackle one problem with lots of different solutions, with none of them necessarily being better than another, is a key part of the idea behind deliberate practice.
Since being at Bluefruit I have been involved in more pair programming than in any place I’ve worked before. Although the benefits of pair programming were obvious before the coding retreat, it really showed me how much benefit it can bring. I think it’s a really good way to teach and learn, cross-pollinate ideas between teams, and come up with different solutions to problems.
When working on the simple coding challenges at the retreat I was, I’ll admit, surprised at the variety of solutions that were possible. This will encourage me to avoid tunnel vision / be open to alternative approaches to the task in hand.
As an experienced (old school) developer, I’m fairly new to TDD and I can already see the potential benefits of the approach. It was it helpful to see how testing and coding, which can feel like opposing forces, together bring balance to the development process.
And, in relation to the feedback loops that are so important in the agile methodology, a quote given crystalized the significance of this which could be paraphrased as: You can develop without feedback as much as you like but two things will happen: You won’t get any better and you’ll stop caring!
We hope to see this event happening next year again – but so far: See you at the Agile on the Beach summer event in July!