Mobbing Pattern Language

Patterns: High Performing mob

Also Known As


An experienced mob of skilled programmers who understand the tools and technology at hand.

The Driver is able to carry out a large-ish chunk of work in a way that is faithful to the intent of the mob, without detailed description of the work.

The mob needs to know how to give the Driver that kind of instruction, and to trust that the Driver will carry it out.

The mob needs to be sufficiently skilled at programming to identify larger chunks of work.


Get the most out of a group ready for this challenge.

How To

  1. Give the Driver a chunk of work. Big enough to keep them busy.
  2. The rest of the mob goes to the whiteboard and figures out what do next.
  3. Just as the Driver completes a chunk, the mob feeds the next one.

When this clicks, the Driver experiences an exhilerating wind-in-the-hair feeling, where great code flows out of their fingertips continuously. They feel like the world’s best programmer!

Indicators / Diagnostic

The driver is working on present, low-level details, while the mob is working at a higher level of abstraction, looking forward.

Everyone is involved, but not necessarily on the same thing. There is a high level of trust in the team, and the team understands the other member of the team, and knows exactly how much they can handle at one time.


One person says “Make a function filters those results based on time.” While the Driver is implementing that method, someone else is researching the API for how we’re going to wire this up to the GUI, and someone else is at the whiteboard sketching the next step. The mob is still glancing at the driver to make sure they are still on the right track.