Mob Programming

Mob programming is a software development approach where the entire team works together on the same task, at the same time, in the same space, and on the same computer. This practice extends the principles of pair programming to the entire team, promoting extreme collaboration and collective code ownership.

In mob programming, one person operates the keyboard and mouse, known as the "driver," while the rest of the team, referred to as the "navigators," actively contributes ideas, reviews the code, and suggests solutions. The role of the driver rotates regularly to ensure that everyone participates in both coding and discussion.

Mob programming can be particularly effective for complex tasks that benefit from diverse input and for teams looking to build a strong, collaborative culture. While it may require adjustments to typical work environments and schedules, the practice can lead to more robust, high-quality software and a more cohesive development team.

Resources

Hear it from the horse's month, Woody Zuill, the "discoverer" of mob programming, on the what, .why, and how. Don's miss the final Q&A!
An interesting and informative time lapse video of a day of mob programming

Will mob programming work if the team is geographically distributed?