How to run a code sprint*
While many students this week were busy partying reading, a handful of computer science students participated in a code sprint to work on various open source project courses. This is most of us, three days of hard work later:
Up front at the whiteboard is Greg Wilson leading our post-mortem discussion about how we felt the code sprint went.
What worked
First up, the whiteboard itself. Beyond its obvious scratchpad benefits, it allowed people outside of a discussion to jump in.
Having a room full of developers and potential rooms made for good usability testing opportunities, from the "hey, got a second?" variety to the longer, structured sessions.
But most people agreed that the best part of the three days was simply all being in the same room together. For some, it was the first time connecting faces to names -- in particular, four collaborators travelled from Ann Arbor, Edmonton and Waterloo to help out.
Pair programming also worked well, keeping people focused and writing sane code. Working alongside partners meant that you if you didn't understand a line of code, you could go up to the person who wrote it and ask them. More generally, filling a room with developers meant that lots of command line tricks, clever solutions, and handy libraries got thrown around.
And what didn't
The obvious flipside to working in the same room were the constant interruptions.
The grizzled Blake Winton (Basie's dedicated code reviewer) stated it elegantly: he enjoyed getting interrupted to share knowledge that he accumulated over his many years. On the other hand, he hated getting interrupted to share knowledge that he accumulated over his many years.
And like all good computer science problems, there were the challenges of scale. Eating donuts and sitting on lousy chairs is fine for a few hours but not for a few days.
Some other thoughts:
- Our list of objectives could have been more explicitly defined -- there wasn't an official "scrum list" to use the nifty agile term.
- Some felt that the sprint could have used a few more veterans and alumni. The ones who were there were often spread thin.
- Aran suggested we try breakout rooms for when smaller groups need to focus.
- "Demonic child coughs." James Leung's advice: don't come from out of town and stay with professors who have sick children.
Getting Things Done
Like many things in the oft-inverted world of academia, results often take a bit of a backseat to the actual learning experience. But thankfully, we got lots done. Greg, Aran, Phylis, and Mike have the details.
Doling out some thanks
In the spirit of last night's Oscar's, some thanks need to be handed out:
- the "adults" who managed the projects: Greg Wilson, Karen Reid, and sanity checking from Blake Winton.
- tech support / setup from Alan Rosenthal, Vlad Sekulic, and David Wolever. The network didn't go down once!
- the students from other schools who travelled to Toronto to help out: Liz Blankenship, Heather Grant, James Leung, and Jason Whyne.