Skip to main content

Mob Programming

Mob programming is a method of working collaboratively in which a small team of software developers all work on one problem together with one person at the keyboard at a time. This can help prevent knowledge silos and increase knowledge sharing throughout the team that is working within a given context.

A common concern that people share with this style of working is that it feels as though the speed at which the team can deliver results must be slower in order to accommodate this style of working, because it requires everyone to be together at once instead of dividing the members of the team into individual work streams to work on multiple things at the same time (sometimes even incorrectly characterized as a divide and conquer approach). It does appear to be an expensive way of writing lines of code, but to truly consider velocity and cost, the total picture must also be considered. Mob programming practically eliminates the code review process as the code review has taken place completely within the code writing process itself. The amount of time that anyone on the team will need to review that code with others is also reduced, especially if they brought in product owners and UX designers throughout the process, having them join the working group.

And the speed at which code is written is a very misleading metric, because, ideally, the code that you produce through mob programming needs less rework, and less attention to improve in future iterations, because the quality—which also is tricky to measure—is ideally higher.