We ran the first Southampton coding dojo today.
In attendance were:
- Tom Peplow
- James Watson
- Grant Sutcliffe
- Jason Deabill
- Stephen Goodman
- Mike Blake
- Mike Godfrey
- Mark Heath
- Tom Quinn
The session was ran using the Randori Kata. We used the list of pre-prepared Kata from the coding dojo site.
We decided to run with the Roman Numeral Calculator Kata. We used the four rules as per the prepared Kata.
We decided to follow Kent Beck’s advice, as per Grant’s recent blog post and start with a list of test cases we wanted to cover. We started with a fairly short list as we didn’t know what our velocity would be:
- I + I = II
- I – I = string.Empty //Is there a zero in roman numerals?
- V + I = VI
- IV + I = V
- III + I = IV
Pairings started with Grant leading the pair with Jason and then followed round the list in the order shown at the top of this post. The session was ran using TDD.
After everyone had taken a turn leading a pair we stopped for a quick open table review. The group agreed that five minutes was a good time box. The group noted that on some occasions the right of the pair to have no interruption was being violated; it was agreed that is was the responsibility of the pair to push back if they didn’t want to be interrupted.
One thing we found over the course of the session was that it became hard to maintain direction without some form of strategy in place. Some pairings would re-factor out another pairings work, only for the next pairing to then introduce it again. Ordinarily when using TDD and working in a pair there are only ever two minds involved. When rotating using the Randori there are many minds and therefore it is hard to stick to the tenets of TDD. We found that introducing a group agreed strategy allowed us to pick up momentum again. Sadly this only occurred 15 minutes from the end of the session; a lesson for the next session ;-)
The source code from the session will be posted soon and I’ll blog with a link to the location once it is available.
Hopefully we will get even more people next time, on which note the next session will be: Thursday 24th September and will again be held at iMeta’s Southampton Office.