“All the brilliant people working on the same thing, at the same time, in the same space, and on the same computer.” – Woody Zuill
Mob Programming started as a practical way to address a local problem in a single team at a small company. In just a few years, it has become recognized as a valuable approach to many kinds of software-related work, including:
- testing (general testing, Exploratory Testing, multi-team end-to-end and regression testing, etc.)
- test automation
- production issue resolution
- doing architectural spikes as a team
- trying out alternative tools or techniques
- running code dojos and similar events
- technical training
- team-level technical coaching
There’s no such thing as a silver bullet or a one-size-fits all solution. While Mob Programming can be valuable for many types of work software teams undertake, it isn’t necessarily the best way to approach every task.
Some teams use Mob Programming as their default mode of work. Others employ it tactically for certain categories of work, and use other methods for different types of work – swarming, pairing, or individual work as they deem appropriate.
At NeoPragma, we use remote Mob Programming in our instructor-led online training courses when the subject of the course is a hands-on skill (programming, testing, test automation, system administration, diagramming, modeling, etc.).
It’s a great way to keep everyone involved and engaged in learning activities, and to practice new skills with focus and intensity.
mobprogramming.org – website dedicated to the subject.
three-minute time-lapse video of a day of Mob Programming. – (video) the original team with Woody Zuill during a typical work day.
Mob Programming Facilitation and ROI with Llewellyn Falco – (video) a conversation with one of the leading technical coaches in the field and two other experienced practitioners as he explains the value he sees in Mob Programming.
Solving the Puzzle at the Center of Successful Remote Mob Programming. – an article from Industrial Logic focusing on maintaining a good level of engagement by all team members when collaborating remotely.
ycombinator thread – every development pratice has pros and cons, including this one; at the same time, there are numerous misconceptions about every development practice, including this one. Caveat lector: The criticisms expressed in this thread are not genuine problems with Mob Programming; they are misconceptions. Understanding common misconceptions can help you gain a clearer understanding of a technique by highlighting some of the things that can go wrong when you apply the technique incorrectly.