Goal of the game
- Learning the process of mob programming in a playfull & funny way
- The session is also suitable for non-programmers.
- You can play this session remotely if you use a video conference tool, where it is possible to give other participants the control over your screen (eg. Microsoft Teams)
Before you begin to play the game, tell the participants a little bit about the purpose and the history of mob programming. You can find some information here.
Next make sure to explain the Setting and the rules behind the roles. Here you can also speak about some expected advantages. Later during the debrief, you can go back to those advantages and ask the participants, whether they experienced them or not.
As I tried this session with my team, they experienced some of those advantages during the game. It literally was a big hit!
If you need some inspiration, this article is a good read about experiences with mob Programming.
1st Part of the Sesson - BASIC MOBBING
After describing the setting and the game, let the participants decide, who wants to start with which role. The timebox between role rotations should be 3 Minutes. (In a Programming Mob Session the time should be longer e.g. 10 minutes)
After few rotations, you can stop the session to start reflecting with the participants. Here is a list of possible debrief questions:
- What kept the driver from listening to the navigator?
- Is ist ok für you, that the navigator completely disregartds the ideas from the mob?
- Why does not the navigator decide, what the driver should the next, but the mob?
- What would happen, when there would be no navigator and the driver has to do everything the mob wants?
- What could you do, so that the navigator, the mob, the driver can perform there role better?
The questions are, of course, context dependent.
2nd Part of the Session - the role descriptions
Hand out Willem Larsen's role descriptions (Level 1) to the participants. They will see some instructions, like what they need to do to fulfill the deeds of the role. Ticking their own deeds gives the participants a deeper insight to the roles.
3rd Part of the Session – The Debrief
You should take the time to reflect, so that learning can take place together.
I asked following questions during the debrief
- If you had played alone, would you have come this far in this game? (the goal here is to reflect about "more people - more ideas - better solutions")
- Who found, that the session was boring? (goal: learning can be fun)
- Who felt lost or did not come along? If so, what happened, that you did get out completely? (goal: make the social dynamics between team members visible)
- Why did one of you read the sentences "BABA is YOU" or "ROCK is PUSH" etc. at the beginning of the levels loudly? (If that really happened. Goal: How do we share information? How do we synchronize information within the team? Does this happen in real work life?)
- What was it like, when someone made a mistake? Was he/she blamed for it?
- How do you feel about the constant change between the roles? What were the positive effects of the role rotation?
- Now that you know how mob programming works, would you like to try it at work on a real task?
My mob session with my team worked very well for us. We even set a meeting blocker for another mob session the same week.
I hope you enjoy replaying!
many Thx to
Xavier Detant (Game idea BABA is YOU)
Willem Larsen (Role descriptions)
Udo Wiegärtner & Marco Emrich (Showing me the session and giving an me and others a better understanding of Mob Programming on the conference Agile Open Fire 2020)