What is Mob Programming?

Mob programming, or “mobbing,” is 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. The entire team participates in designing, coding, testing, and working with customers, users, and other stakeholders. This is an evolutionary step beyond pair programming, and accentuates the face-to-face communication, team alignment, collaboration, and self-organizing team aspects of the Agile approach to software development.

Mob programming leverages the knowledge of the entire group to make faster, better decisions. This increases the productivity of the team and the quality of their output. Mobbing also encourages cross-training and the sharing of perspectives across functions, which improve collaboration and job satisfaction.”

When the barriers to sharing knowledge are reduced to zero, when the cumulative experience of any group is brought to bear on a problem, the result is always a decrease in waste and improvements in quality.

Mob Programming is a simple concept, easy to execute, with powerful effects on your organization. What’s more, the idea can be readily extended to other cooperative areas — marketing, design, and executive teams can reap the benefits of close collaboration.

Here are some first-person accounts of working with mob programming: