Mob Programming is an approach to developing software that radically reduces defects and key-person dependencies by having a group of people work together at a single machine. It is a natural extension of Pair Programming and is not restricted to a specific programming language or technology.

In this session Mark shares his 4 year journey with Mob Programming, what's worked, what hasn't and why you should consider embracing mobbing in your team.

Outline/Structure of the Talk

Introduction - 5 minutes* How I was first exposed to Mob Programming by doing Team Tourism* What is Mob Programming

The Roles & Responsibilities - 10 minutes* What are the roles in Mob Programming* 3 Responsibilities for the the typist* 3 Responsibilities for the rest of the mob

How it works and what it looks like in real life - 5 minutes* Protocol for interacting with people & mantra of Mob Programming* Mechanics of Mob Programming in real life* What to do when only 1 person in the mob knows whats going on* What to do when nobody in the mob knows whats going on

Is this a productive way of working - 5 minutes* How do you measure developer productivity and why is this hard.* What impacts developer productivity - [Audience Participation]

Multitasking & People Focus - 5 minutes* How multitasking is reduced when Mob Programming* What is the impact of Mob Programming to WIP limits* Examine focus levels of people working separately vs. working together* The true lifespan of measuring the impact of quality

Is this just an expensive form of Pair Programming - 5 minutes* What studies has concluded is the ideal size for tackling complex problems* Two other differences between Mob Programming & pair programming to consider

The impact of waiting for information - 5 minutes* How Mob Programming reduces waiting for information

The importance of physical space while Mob Programming - 5 minutes* What sort of hardware you need

What will we be doing in 10 years time - 5 minutes

Learning Outcome

Going beyond Pair Programming, flow models, collaboration

Target Audience

Anyone in a team who is involved in the development process, primarily focus is developers but can apply to QA's, BA's etc.