The 3rd of October saw the Belgian Play! Framework User Group hold its first coding dojo and overall, it was a success. It’s the first time I’ve been involved in the organisation of anything like this, although the vast majority of the preparation was done by Ben Verbeken.
We had 17 people at the dojo, plus a DBA who stopped by for an hour because he’s interested in how developers and DBAs can work more efficiently together. We had an application specification from an idea by Andy Petrella, along with a reference implementation coded by Ben, Andy and me. We had a meeting room and refreshments provided by Cegeka. In short, we had everything we needed to have a dojo.
Ben has already covered the application in his post on the dojo, so in the spirit of DRY and general laziness I’ll kindly allow you to read about it on his site. Here, I want to cover the bits we got right, the bits we got wrong and how we can correct or improve in the future.
The good
- The first thing we got right was to actually organise the dojo in the first place. Everything else, good or bad, stems from this.
- In place of having two people at the front of the room, with a constant rotation of the group’s members, a wireless keyboard was used and passed to the left at the end of each 10 minute time block. This saved time, and meant that the group wasn’t split up into the watching and the watched.
- Purely by accident, one of the most experienced members of the group (Andy) was sitting pretty much in the middle, and was the first to code after the 10 minute break. The people who coded in the first half of the dojo got an application up and running, and then Andy kicked it up a notch by adding the Twitter4J dependency and coded up to the point of actually posting to Twitter. The effect of seeing the app interact with an external system with just a few minutes’ coding sparked quite a bit of interest and discussion.
- On the subject of Twitter, we set up a QuickQuizzz application in Twitter ready for use in the dojo. Doing this during the dojo would have been pointless, because it didn’t directly relate to Play! in any way.
- We ended up with a working application that (pretty much) met the spec! You can find the code on github.
The bad
- No wifi! Due to a miscommunication, we didn’t get the password for the wifi network and instead had to turn a laptop on the wired network into a wireless access point. The resulting connection was very slow!
- No choice of IDE! We had IntelliJ set up as the IDE, but it seems that a lot of people preferred Eclipse.
- The keyboard moved in a linear fashion, always passing to the left. This meant you knew exactly when it was your turn, but also you knew exactly when it was *no longer* your turn. This ties in with the next point, which is…
- Each person coded only once.
- The idea for the app was mentioned at the beginning of the dojo, but not written down in a visible place. As a result, we had to clarify the idea throughout the evening.
Improvements for the next dojo
- Full-speed network access is a must. At least one person didn’t have Play installed at the start of the dojo, and found it impossible to download due to the poor wireless bandwidth.
- A choice of IDEs – IntelliJ, Eclipse and Netbeans – will be offered, along with a few text editors for people that don’t like or use IDEs.
- The next person to code should be determined by something other than seating order – maybe numbered cards picked at random, or an app that chooses a name.
- Because the overhead on switching between coders is reduced by using a wireless keyboard instead of having people physically move, each person should be able to code for e.g. 5 minute time blocks at multiple times during the evening. This would allow everyone to code before the break, at which point the random ordering can start again.
- The spec should be written up as a very simple bullet list. A second list, with optional functionality, could be introduced if the app has been finished and there is still time left.
And next…?
The rest of the year looks to be pretty busy, with Devoxx coming up in November, plus day jobs, everyone seems to be doing the Coursera Scala course, etc, and then it’s the holiday season again. I think we’ll hold another event early in 2013 – not necessarily a dojo this time, because we have some other ideas to keep it interesting. In the meantime, Play BE will be having another meet-up in Brussels one evening – bring your friends, bring your laptop, bring your ideas and join us there! Details will be announced on http://play-be.org soon.