An experience in Mass Pairing

A Mass Pairing is a coding dojo that takes over all sessions for a slot during a conference. We’ve found it a great way to introduce participants to each other, and explore an aspect of programming at a conference. We had some pleasant suprrises, and still have some questions.

I’m facilitating a Mass Pairing exercise for the third time at /dev/summer in Cambridge this saturday, and also facilitating one at the SPA Conference where the programme rightfully labels it as a Coding Dojo, since it does not take over the entire conference for a slot.

At /dev/summer the Mass Pairing hijacks (in the most friendly way) the conference for an entire slot after lunch. the after lunch slot is bad for talks anyway, pair programming gives people some energy to start the afternoon with.

The Mass Pairing is polyglot by design. The previous two times we achieved that by starting with an open ended exercise (Game of life and eight queens) that participants could do in whatever language they want, as long as one can write tests with it. This time we’re doing a legacy code exercise, so the choice is a bit more limited although still fairly large. I’ve done the Gilded Rose kata in Haskell a couple of times, and it was more interesting than I expected.

Maximum Participation

One of the reasons to do a Mass Pairing in a plenary session, is to make it very hard for participants to leave without having done a hands-on exercise. Talks are great to get some broader insights, but for deeper learning writing code while having a discussion with someone else is essential.

Minimal Facilitation

For a succesful session we need three ingredients:

  • Every participant needs to find a partner (or two). This is the scariest bit for me.
  • Participants need a starting point for the exercise - we need enough participants with laptops. It turns out that, on a saturday, it is ever so attractive to leave the laptop at home.
  • Said partner should program in a language of choice. We more or less solved this by pointing people to rooms for specific languages we defined in advance. It feels a bit limited, because we might miss opportunities for people to work in languages we haven’t thought of.

For /dev/summer last year, we arranged a facilitator in every room. For /dev/winter this year, we chose not to, and see how it would work without.

I was just browsing through photos I took at /dev/winter and found this:

Some rooms facilitated themselves by drawing an example game board

In at least one room participants drew a sample gameboard together. That was a pleasant surprise. I encouraged some rooms to do wrap-ups, but if you’ve been at a coding exercise before, you know how hard it is to get people to step away from the keyboard. Suggestions for a friendly way to get participants to stop and wrap-up at the end would be most welcome.

In general the Mass Pairings seem to be well-received, but since we don’t facilitate in the rooms, we don’t really get accurate feedback other than what we hear at the bar afterwards.

I’m thinking of doing a round of the rooms, handing out index cards near the end of the session, and asking each participant to write one thing they learnt on it, and then collecting the most interesting ones in a blog post or a series of tweets. I welcome your suggestions for collecting better feedback (or if you’ve participated, your opinion in the comments).

If you want to experience Mass Pairing for yourself, I believe there are still a few tickets for /dev/summer, one of the best value for money conferences you’ll find. I’m not always that confident, but of this I’m pretty sure :-). See you then?