Mob Programming

Also known as: Ensemble Programming

practice · computer science · organizing-schema

Whole team works on the same thing at the same time, in the same space.

Mob Programming was developed by Woody Zuill and the Hunter Industries software team beginning around 2011 and presented in Zuill's 2018 book Mob Programming: A Whole Team Approach. The practice extends pair programming to the entire team (typically 3-7 people) working together on the same problem, at the same time, on the same computer, in the same space (or in distributed contexts, the same shared session). One person at a time is the driver (typing), with the rest navigating; driver rotation is frequent (every 5-15 minutes typical) following the principle that 'for an idea to go from your head into the computer, it must go through someone else's hands' (strong-style mobbing). The practice's apparent extreme inefficiency (paying 5-7 people to do one person's work) is challenged by claimed benefits including elimination of code-review delay (review happens continuously), elimination of knowledge-silo effects, dramatic reduction in handoff and waiting time, accelerated team learning, and high-quality decisions through real-time consensus. The 'Ensemble Programming' rebranding (Maarit Laanti and others) emerged in the 2020s to remove the militaristic connotation of 'mob.' Empirical evidence on mob programming is limited but practitioner reports are largely favorable for specific contexts including legacy-code work, complex problem solving, and onboarding.

Originators

Woody Zuill; Hunter Industries software team high

Year / Decade

Around 2011 development; 2018 (Zuill book); 2020s (Ensemble Programming rebranding) high

Primary sources

Zuill, W. (2018). Mob Programming: A Whole Team Approach, Hunter Industries (ongoing). mobprogramming.org documentation high

Core components

Primary use case

Complex problem solving where multiple perspectives add value; legacy-code rescue work; onboarding new team members; cross-training to eliminate knowledge silos; high-stakes work where quality matters more than speed; teams seeking deep alignment on coding patterns and decisions; specific phases of work rather than continuous mob practice.

Common criticisms

Lineage

Child of
Pair Programming
Siblings
Pair Programming, Code Review
Derived from
Pair Programming