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.
Updated on 08/11/2024
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.
So, is mob programming effective for teams? Let's explore mob programming pros and cons to find out.
More benefits of mob programming include:
However, mob programming also has some disadvantages...
The disadvantages of mob programming include:
The entire team working on the same thing, at the same time increases productivity as they create higher quality code.
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.
Here are four key tips to support the success of your mob programming sessions.
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)!
To ensure the session runs smoothly, you have to make sure there is good communication between navigators and drivers.
Without solid coordination, it might become hard for a driver to understand the navigators' instructions while maintaining their keystrokes and implementing the instructions in the codebase.
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.
Aim to have a brief meeting at the start of each mobbing session to determine the focus and roles for that session.
Make sure that all participants are comfortable with the structure of the session, whether that involves frequent rotations or fixed roles.
Without good coordination, the driver may struggle to follow the navigators' instructions while coding.
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.
Additionally, working for extended periods without breaks can contribute to burnout, a state of emotional, physical, and mental exhaustion.
Taking breaks, however, will help prevent burnout by giving team members time to relax and alleviate stress.
Use breaks to step away from screens, stretch, grab a drink, or have a quick chat about something non-work related. This also provides a natural opportunity to reassess the mobbing sessions' progress, adjusting any goals or roles if needed.
Timers or scheduling apps can be great here, as they remind the team when it's time to take a break.
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 work environment.
The most important consideration for your dedicated mobbing station is: Can everyone comfortably see what’s happening? Your whole team needs to have a good view of the screen, collaborate easily, and not feel cramped.
A poor setup can quickly derail a mobbing session, which can lead to frustration or prevent the team from effectively seeing and interacting with the code.
A good setup typically involves using a large TV screen or projector over smaller monitors, particularly if there are multiple people involved.
You can also try arranging seating so the driver is comfortably seated at the computer, while navigators around can easily discuss suggestions and feedback.
With super-fast WiFi, bookable meeting rooms, and free tea & coffee, Tramshed Tech offers the ideal coworking spaces for mob programming.
Get in touch to learn more.
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 get uncomfortable fast.
The space must be clean and big enough to fit the whole team (and space to move about).
Clutter can make it harder for people to stay engaged on a task, but a clean workspace can help increase productivity and focus.
Your workspace should have essential features, like good lighting, a strong internet connection, and plenty of room for a team to gather, without feeling cramped.
As mentioned above, there also must be a big or dual screen located in the room for all team members to see.
Aim to keep your space tidy by organising cables well, checking that every person has enough room to comfortably contribute, and checking that the internet and tools are working properly before you start your session.
So, is mob programming effective for teams?
The answer is yes - but its success mainly depends on how well a team follows mob programming best practices.
Prioritising communication, taking regular breaks to avoid burnout, and maintaining a suitable working environment can help business teams improve their mob programming sessions.
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.