Blog

Alexander Bird Software • Blog

Notes to myself
About

Working Styles Classification

A reductive visual summary of collaborative programming terms like mobbing, pairing, and swarming

When a new team member (who doesn't have much pair programming or mob programming experience) joins our team, they encounter several different words for working styles: solo work, pairing, mobbing, and swarming. The three collaborative types may sound like synonyms, but when we use them we mean distinct things by each one.

In the first week there's usually a conversation to explain our lingo and give an introduction to our approach to mobbing and collaborative work. In the course of giving those explanations, I've formed a mental model for classifying working styles. It's admitedly reductive, but I find it helpful in differentiating the terms.

2-axis chart with "people per task" on the x axis and "computers per task" on the y axis. The 1 by 1 cell is labelled "solo work". The 2 people and 1 computer is labelled "pair programming". 3+ people and 1 computer is labelled "mob programming". Moving up the chart: the 2+ computers and 1 person is empty. The 2+ people and 2+ computers cell is labelled swarming. There is a long arrow diagonally across the chart from 3+ computers and 1 person down to 1 computer and 3+ people labelled "more focus". Another arrow follows the same line but points in the opposite direction, labelled "more coordination overhead". Above the chart, there is a curly brace encompassing everything with 2 or more people per task which is labelled "collaborative programming".
Chart "reductive comparison of working styles". The chart has two axes: the y axis is labelled "time wasted on avoidable coordination/communication", and the x axis is labelled "maximum difficulty of the task". There is a "solo work" circle that's high on the y axis and low on the x axis. The pair programming and mob programming circles are low on the y axis and high on the x axis, with the mobbing circle higher on x than pairing. The swarming circle is high in x and y, but not quite as high as solo work on the y axis.


Something to add? Continue the conversation on Twitter


Written 2021-07