Mob Programming (Introduction)
Maximum collaboration to solve complex problems as a team.
Mob Programming is a collaborative method where the entire team works simultaneously on the same code. The roles of Driver and Navigators are shared and rotating, promoting collective learning and technical cohesion. This approach effectively addresses complex problems by leveraging the collective intelligence of the team.
Walkthrough
- 1
Introduction to Mob Programming
10 minThe facilitator introduces the concept of Mob Programming, explaining the roles of Driver and Navigators. They emphasise the importance of collaboration and active listening. Participants are invited to ask questions to clarify the process.
Tip — Use simple analogies, like an orchestra, to illustrate the harmonious collaboration required.
- 2
Role Formation
5 minThe facilitator divides the group into two: one Driver, who will be responsible for typing the code, and the Navigators, who will guide the Driver. Each role is explained in detail, highlighting the importance of clear and concise communication.
Tip — Encourage participants to change roles regularly to maximise learning.
- 3
Mob Programming Session
30 minThe group begins to work on a simple programming problem. The Driver listens to the instructions from the Navigators and types the code accordingly. The Navigators discuss possible solutions and ensure that the Driver fully understands their suggestions.
Tip — Choose a problem that is simple enough to be solved in 30 minutes but requires collective thinking.
- 4
Role Rotation
5 minAfter a set time, participants change roles. The Driver becomes a Navigator and a new participant takes on the role of Driver. This rotation allows everyone to experience different aspects of Mob Programming.
Tip — Use a timer to ensure regular rotations and prevent anyone from monopolising a role.
- 5
Collective Reflection
10 minAfter several rotations, the facilitator invites the group to reflect on the process. Participants share what they have learned and how they overcame the challenges encountered. The facilitator guides the discussion to extract key lessons.
Tip — Encourage a trusting environment where everyone feels free to share their thoughts without judgement.
Variants
- Introduce a more complex problem for more experienced teams.
- Use a whiteboard to visualise ideas and solutions during the session.
- Add an observer role that provides feedback on group dynamics.
Debrief guide
- How did you feel when changing roles within the group?
- What were the main challenges encountered during the session?
- How did collaboration influence the quality of the code produced?
- What skills did you develop through this experience?
- How could you apply the principles of Mob Programming in your daily work?