Mob programming is a practice where the whole team comes together to implement a feature or piece of functionality.
This practice can also be used as Mob learning when you quickly want to share new information that everyone in the team needs.
Ensures the whole team understands how a specific feature is implemented or problem is solved. It can also be a quick way to onboard new team members.
Mob programming involves the whole team working on a single piece of functionality at the same time. The easiest way to mob program is to have one team member driving a laptop that is connected to a large screen or projector.
The person behind the keyboard and mouse is usually called "Driver" and the others would be "Navigators". This role should be rotated if working on implementation. When using this practice for knowledge sharing then rotation is not necessary.
The whole team then implement the feature together by talking through the development together.
Tips for remote mobbing
- Both pair and mob can be applicable to programming and also other kind of documents
- Easy to apply if the team can use the same tools for documents and whiteboard
- We activate our cameras all the time
- A very simple way of a continuous open video conference with Video/Audio to be in the same room.
- Video Conferencing based pairing and mobbing is possible with BlueJeans using breakout sessions feature as described in the instructions.
- For documentation at the beginning it can be very useful to allow the team to go through a diverging phase, adding all ideas on an empty document, then you can move to a converging phase where the structure of the document is agreed and the work divided among the team
- If the team needs to distribute the workload to create the documentation, for the converging phase you can also track who is in charge of which part, and this is also easier to keep track of the status
- For a documentation mob, everyone can initially type in a document simultaneously, which is different to a programming mob that has only 1 person at the keyboard
- Should rotate role for leading the sessions to increase the team engagement with less passive behaviours and reduce tiredness on a single person acting as lead
- One facilitator shares the primary screen, showing the tool to allow everyone to understand where is the focus
- If the tool you are using allows you to see where are the people in the room, it is very helpful to be focused on the same topic
- Short rotation periods keep everyone concentrated and every opinion in the mix
- It’s ok to have periods of silence where people are thinking and working. Someone doesn’t need to be talking throughout the session.