Mob Programming is a development practice where the whole team works on the same thing, at the same time, in the same space, and at the same computer. This is a “Whole Team” approach to doing all the work the team does – including coding, designing, testing, and working with the “customer” (partner, Product Owner, user, etc).
We have expanded the “team” nature of all the work we do – not just planning, retrospectives, and a daily stand-up or other meetings – but all the work that the team does. This could be thought of as Extreme Pair Programming, or continuous collaboration, perhaps. In other words, this is an evolutionary step beyond the pair programming, face-to-face communication, team alignment, collaboration, and “self organizing team” concepts of the Agile approach to software development.
I’ll share how we’ve been using this practice to super-charge our development efforts and deliver high value software for almost 3 years. We’ll see what it looks like, the benefits (higher quality, rapid development, more productive, continuous learning, full engagement of the team, and more), and how to do it yourself. In our workplace we “Mob Program” all day, every day, but we’ll also explore some ideas on how you can employ all of the concepts and practices (and get the benefits) of “Mob Programming” in your own company even if you can’t do it “all day, every day”.
Mob Programming is now being done all over the world, and a wide spectrum of projects and in organizations of all sizes. It is quiely learned, and can be adapted to almost any product, project, or problem. In a nutshell, it's about working well together.