15 Jun 2022
A mob programming session is conducted when a software development team (usually three to six people) get everyone together to discuss something big, get feedback, or find a solution. In short, the group writes and owns all the code together.
But how often should a team use mob programming? Well, there's no definite answer as it all depends on the individual team. One team may decide to have regular mob programming weekly or even daily, whereas another team may only have it once a month, when required.
With the entire team working on the same thing, at the same time, they become more productive as they learn together and better quality code is produced as a result. More advantages of mob programing include:
However, mob programming also has some disadvantages, such as:
There are two key roles on a mob programming team: the drivers and navigators. There is only one driver at any given time, and the rest of the team are navigators. The driver types the code and the navigator analyses, discusses and makes suggestions to improve the code. The navigator leads the discussion and may ask questions like “What should the code be here?” or suggest changes to variable names or patterns that could be inputted. The driver sits at the keyboard and applies the team's instructions.
Typically, the driver rotates every 15 or 30 minutes to give everyone an equal chance to drive and navigate. For example, on a mob programming team of four that does 10-minute rotations, you’ll have 10 minutes being the driver, with 30 minutes in between to be a navigator or group participant.
To ensure the session runs smoothly, you have to ensure good communication between navigators and drivers. Without solid coordination, it might become hard for a driver to understand the navigators' instructions while maintaining their keystroke and implementing the instructions in the codebase.
It hopefully isn’t a surprise at this point, but mob programming is naturally social — and being social in a mob setting requires practice (and patience)! Some individuals can be messy, complicated, and hard to work with, or you might have clashing working styles. But the only way for the mob to succeed is through communication and collaboration, so you need to ensure everyone has a voice for it to thrive.
A successful session will also include taking regular short breaks, setting the rules and target of each mob session, keeping track of each session to analyse and treat each team member with kindness and respect.
Mob programming is all about the whole team working together in one space, but in order for this to be effective, you must be in a suitable working environment. The most important consideration for your dedicated mobbing station is: Can everyone comfortably see what’s happening? Most mobbing stations feature a large TV or projector connected to the computer, rather than a monitor as three or four people huddling around a cubicle gets uncomfortable fast.
The space must be clean and big enough to fit the whole team (and space to move about). There also must be a big or dual screen located in the room for all team members to see, as well as a strong, reliable network connection.
Here at Tramshed Tech, we offer the ideal collaborative working space for mob programming. Tramshed Tech is home to 50+ companies ranging from pre-revenue start-ups to scaling businesses with 600+ registered members from the digital, creative and tech communities. We’re currently based in Grangetown, Barry & Newport, soon to expand to other sites across South Wales to include Central Cardiff and Swansea.
Get in touch to enquire about our coworking spaces here at Tramshed Tech.
Written by Kate, for Tramshed Tech.