Today was a great success with six awesome developers from around Cape Town pitching up, three of whom I'd never met. We started out with coffee and intros then watched Corey's intro to the technique.
We had three sessions before lunch with great pairing, everyone was experienced in TDD so going was good. The pairs explored approaches to Conway's game of Life, from implementing the rules to different approaches to the universe/environment.
I heard the cries of panic at a stack overflow; we tried a pattern matching approach which ended up newing up the universe and creating lenses. We also got better at facetious implementation and avoiding primitive obsession generated some great insights on seams and testability. And lots of laughter.
Each session ended after 45 minutes with my annoying alarm going off and us deleting our code (sometimes gratefully). There were enough people today for each session to be with someone new which was excellent.
Then we sat down to a nice long Thai lunch at Chai-Yo where war stories were shared and a bit more context built. A game of foosball wrapped up the lunch-time and then it was back to coding.
Pairing without talking
We had one session after lunch: which for me was the highlight. We tried pairing without talking, with one partner writing tests and the other implementing. This was pure fun, trying to balance leading with tests and challenging er .. challenges. It was almost like a game of chess with each partner playing their move with relish.
This brought us to 15:30 where we had the closing circle, discussing learnings, surprises and things we would change.
- Tests can drive architecture quickly
- Fluent syntax for building tests was an easy refactor, and fun
- Pairing is all about Attitude, we were all able to pair successfully even though we'd just met
- Different people with diferent backgrounds can think very similarly
- New adventures in resharper
- NUnit TestCase... now we can't go back
- The fun of silent pairing
- Finding other people who love code
Things we'd change:
- More people next time
- Order something more filling at lunch
- Bring better dev gear (keyboards/mice/faster laptop)
- If the group is big enough, try pair facilitation
And, finally, the group photo.