Mob Programming

A few weeks ago, our teammate Aleksandar Gjorgjevski, a Senior Java Developer, held a presentation about Mob Programming at a local meetup of the Java community.

A few weeks ago, our teammate Aleksandar Gjorgjevski, a Senior Java Developer, held a presentation about Mob Programming at a local meetup of the Java community. He spoke from his experience on the topic, since he and his team have been employing this methodology of working for a few years now with one of our clients from the telecommunications industry. Here’s a brief recap of what was said.

What is Mob Programming

Mob Programming is an extension to pair programming – the methodology where two programmers work on the code together. Mob Programming is a methodology where more than two programmers work together on the same task using one single workstation. By definition, it is said that the entire development team may take part in mob programming, including developers, testers, and other stakeholders. In Aleksandar’s case, it’s a team consisting of 4 developers.

Some Rules of Mob Programming

A Mob team is organised so that there is a driver, and there are navigators. The driver is the programmer who usually sits at the workstation and does the actual typing of the code. The navigators are there to keep a close eye on the code, as well as navigate through the input. They discuss and dictate, while the driver types. It is allowed for the driver to ask questions during mob sessions, but they should not take part in discussions about the solution. There is only one driver at a time, and they operate as listeners.

The navigators discuss between each other. They think ahead, instruct the driver, and raise a hand when they have something to say.

Behaviour and Environment

In Aleksandar’s team, drivers take 10-minute turns. The entire team takes a brief break every 40 minutes, or when an important milestone is reached. Each mob session ends with a 5-minute retrospective of everything that has been done. It is very important to obey the “one-person speaking at a time” rule to keep a respectful and professional atmosphere during the session. Aleksandar mentioned that it is preferable to do the mob coding sessions in person, however when this isn’t possible it should be done with the webcam on as much as possible. It is important to note that being a part of the session is not mandatory, although the entire team is invited. Stepping out of the structure is always possible and anyone can leave at any time.

A ‘mob order’ is established at the beginning of a session. It determines who will take the first turn at being the driver, the second and so on. A ‘mob channel’ is determined as well. If the sessions take place online, a Teams (or another platform of choice) channel is created to avoid searching for an event or being stuck in the meeting lobby. If the session takes place at the office, it’s important for the participants to have a dedicated space that is easy to go in and out of, without interrupting the mob session.

Benefits of Mob Programming

Aleksandar mentioned multiple benefits about his team’s work during the mob programming sessions. One of the benefits was that it was a single process, where the team learns from each other, but also plan, design, review the code, test in the process, review each other’s work, easily onboard and offboard new employees.

“Even as a Senior Developer I’ve been able to learn so much from my teammates during these sessions. We are so much smarter when working together,” says Aleksandar.

Except for this knowledge exchange, this way of coding allows the team to cover all the requirements and remove the bottlenecks of the decision-making process. It’s a precise process that produces the best design and code logic. The reason behind this is that the team decides the code together, and this makes for a clean code. It basically takes the code to the next level.

The team learns to communicate and work better together. They build a healthy relationship with one another. The team shares responsibility for the code they produce during the mob programming sessions. This creates collective code ownership and makes everyone accountable for the quality and maintainability of the codebase.

Useful Tools for a Mob Session

Here’s a list of tools used by our team during mob programming sessions:

  • Tool used for handovers over git.
  • Online mob timer tool.
  • IntelliJ plugin.

Conclusion

Aleksandar mentioned that for the duration of this project, they’ve had a minimal and insignificant number of bugs. Mob programming has made the team resilient to outside factors, since there are always 4 team members who know the code in detail. If a team lead or a member of the development team changes, there are still multiple members who understand the code and are able to keep the flow of the project.

Mob programming works well with agile development practices, since it puts an emphasis on collaboration, adaptability, and flexibility. This makes it possible for a team to respond quickly to changing requirements.

Explore more articles in this category

Consultant in focus Inside Nion: Meet Zorica Zaharieva 

As Partner Manager at Nion, Zorica works at the intersection of consultant relations, client needs, sourcing and community building. Over the years, her role has expanded beyond matching consultants with assignments to creating long-term relationships, supporting professional development, and fostering meaningful connections across the network.

Explore
Consultant in focus Kosta Cincaroski – Senior Software Engineer

Meet Kosta, a Senior Software Engineer / Consultant Manager at Nion, and learn how six years of growth, mentoring, and flying have shaped his approach.

Explore
Consultant in focus Zlatko Stefanovski – Frontend Developer

Meet Zlatko, a Frontend Developer, and discover what he has learned after one year on his project at Nion.

Explore
Consultant in focus Lennart Sandström – License Sales Specialist

Meet Lennart, a License Sales Specialist at Nion, and learn how he helps customers plan and manage their IBM software investments.

Explore
Consultant in focus David Warren – Go-to-Market Lead for Nion UK 

Meet David Warren, Nion’s Go-to-Market Lead for the UK, and discover how he plans to build trusted partnerships and drive growth in the UK market.

Explore
Consultant in focus Lise Haack – Marketing Specialist

Meet Lise from Middlecon, now part of Nion, and discover how they turn complex data and IT solutions into clear, engaging communication.

Explore
Reference case Peak-Traffic Sports Events Need an End-to-End Tech Partner 

A reliable tech partner is non-negotiable when audiences are checking real-time race results, browsing athlete profiles, and following live coverage across markets. For W Sportsmedia, performance and reliability are part of the Ski Classics experience.  That’s why we’re proud to be an Exclusive Technical Partner to Ski Classics. Behind the scenes, we help keep their digital ecosystem stable, responsive, and ready when traffic surges […]

Explore
Reference case Tech Partner to Telenor: Building High Performing Agile Teams Together

Discover how Nion supported Telenor with agile teams, microservices, and secure delivery to modernize systems, boost efficiency, and improve customer experience.

Explore
Consultant in focus Hampus Almgren – DevOps Engineer

Meet Hampus, DevOps Engineer in Stockholm. He shares insights on growth, problem-solving, and Nion’s culture.

Explore
Consultant in focus Tsvetana Stefanova Ignatova – People and Culture Generalist

Meet Tsvetana Stefanova Ignatova, our People & Culture Generalist in Sofia, Bulgaria.

Explore

How can we help you?

Get in touch with us or find an office closest to you.