This week we ran a #mobprogramming session with 35 people. Here are some notes about how that went:
At Tableau everyone in the Dev Team gets training in Arlo Belshee’s Read-by-Refactoring. It’s an experiential class, where the attendees are invited to work on a problem they often face: reading gnarly, untested legacy code and trying to make some progress improving it. The instructors coach them into discovering new patterns of thinking; since our goal is first to change how programmers’ fingers work, mobbing is far more effective than a lecture.
Normally we aim for mobs around 8 people, and think of 10 as a maximum, but due to scheduling and other factors we ended up with 35 attendees and 3 facilitators. Time to make the best of it.
The expected disadvantages of such a large group were there, of course. In a mob we want everyone to speak roughly the same amount, and we want to make sure the less privilged voices get amplified. We weren’t able to manage that much with such a large group. During breaks we always get interesting questions and conversations, but with 35 people there wasn’t enough time for everyone to get a chance to ask that question they were holding back.
We used a 3-minute rotation time. We were able to get everyone on the keyboard once. We want each person to have the hands-on experience of working this way, and 3 minutes is just the tiniest taste.
Normally in these classes we guide people into a problem and then let them get stuck and think about how they might get out. We want someone in the mob to come up with the answer, but even if that doesn’t happen, the moment of confusion and uncertainty helps open people up to new ideas. One thing that was different this time is that there was almost always someone with an idea. We instructors didn’t have to feed answers very often at all. That was pretty cool.
I like people to come away from these classes ready to use mob programming in their teams. I don’t think they got much of that.