Woody Zuill, widely credited with discovering mob programming while working at Hunter Industries, describes mobbing (or ensemble programming, as the practice is also known) as “a software development approach where the whole team works on the same thing, at the same time, in the same space, and at the same computer”.
During a global pandemic, “in the same space, and at the same computer” can get a little challenging. Is mob programming even possible in a remote setting? If so, how do we make it work? What are the advantages and disadvantages? Broadly, these are the questions we set out to answer in a mob programming Ask the Experts on 15 September, the first virtual event in the Agile Alliance deliver:Agile Live! series.
I was lucky enough to be joined by some amazing expert practitioners:
- Chris Lucian, one of the original mob programming practitioners at Hunter and co-host of the Mob Mentality show on YouTube
- Austin Chadwick, also of Hunter Industries and also a co-host of the Mob Mentality show
- Mike Clement, VP at Emmersion and well-known mob programming evangelist
- Jonathan Turner, Senior Software Engineer at Emmersion and daily practitioner of mob programming
To prepare for the event, I solicited questions on social media and I conducted several interviews and discussions. Through the course of that preparation and the event itself, a few themes emerged for me:
- A lot of people are excited about the potential advantages of remote mobbing.
- A global pandemic might be the perfect time to introduce mobbing to teams.
- There is no best set of tools or standard approaches for remote mob programming, but there are some good approaches and common principles.
Chris and Austin have several videos on their Mob Mentality Show YouTube channel about remote mob programming, and in one of my favorite episodes they were joined by their colleague, Sandra Spaeth, to discuss some of the potential advantages of remote mob programming. Sandra commented that she has been much more comfortable since dropping the “same space, same computer” mobbing requirement. It’s much more comfortable to work with your own equipment in an environment that is comfortable for you. As someone with a variety of sensory issues, this really resonated with me. I have many memories of leaving a mobbing session excited but drained by a headache I acquired as a result of some sight, smell, or sound.
But it’s not all advantages!
We did discuss some serious disadvantages to remote mobbing. Some were not specific to mobbing, but more general challenges of remote work, e.g. what if participants don’t have a comfortable place to work at home? Some disadvantages were more specific to mob programming, e.g. folks who are hard of hearing and rely on lip reading may have a difficult time with remote mob programming. Some disadvantages just took some adaptation to overcome — for example, Chris using Microsoft Teams to create the same sense of serendipity he found walking around to different mobs in the office. I am grateful we were able to have such an open and nuanced discussion about the advantages and disadvantages of remote mob programming, and I realize this is probably just the start of a much longer conversation.
The second insight I gained from both the interviews ahead of the Ask the Experts and the questions submitted during the session was that this might actually be the perfect time to introduce teams to mob programming. Even folks who were remote before COVID-19 hit have the expectation that the way we work and operate as a team must necessarily change. If change is a given, why not experiment with mob programming? In addition to being a great approach for developing software, all the AMA participants agreed that, in addition to social activities like Jackbox Games, mob programming can be a terrific tactic for team building — just what’s needed during a time when so many people are feeling terribly isolated. Through the course of the AMA discussion, we talked about several ways of introducing mob programming, and one interesting technique of note was encouraging group code review to turn into mob programming. It was very energizing to hear from so many folks who are eager to use this time of upheaval as an opportunity for change and reflection. Inspect and adapt, indeed!
Through the course of the Ask the Experts, we discussed the details of the techniques and tools that can facilitate remote mob programming. There was wide divergence on the tools and techniques the Hunter and Emmersion mobs had tried, but some guiding principles and good practices seemed to emerge through the course of the event. For example, although Hunter and Emmersion are using different techniques for handoffs during a mob programming session, all the participants agreed that minimizing the time needed to facilitate a handoff was critical for successful remote mob programming. Additionally, whether Teams or Zoom, always-on video channels were common across Hunter and Emmersion. Chris emphasized multiple times that having a video call that anyone can pop into at any time creates a much needed sense of serendipity. Austin added that the all-day video call can create opportunities for cross-pollination as different folks from different teams and disciplines pop into the call. What struck me was that the common principles and practices seemed oriented around maximizing opportunities to hear from more people and encourage widespread participation. This is definitely what drew me to mob programming years ago — it is a practice that explicitly values diverse participation.
If you are interested in gaining some real experience with remote mob programming, both Hunter and Emmersion have guest mobber programs. I encourage you to check them out, as Mike, Job, Chris, and Austin are all wonderful, welcoming people, and I am so thankful for their participation in the first deliver:Agile Live! event.
I hope you will join us for the next event on 15 October. We will discuss technical job searches with a panel of experts ranging from a technical career coach to a technical recruiter to a hiring manager. Hope to see you there!
About the Author
This is an Agile Alliance community blog post. Opinions represented are personal and belong solely to the author. They do not represent opinion or policy of Agile Alliance.