When A Mob Makes Things Better

The software industry is known for innovating: finding new solutions, working the most effective way possible, creating new methodologies. And usually, those practices are adopted by other industries later on.


One of those work methodologies is called Mob Programming, and in this story, we’ll go over what it is, why we use it, and its advantages.

Code review at WeWork

Code review at WeWork

The union makes us stronger.

Mob programming is a software development approach where the team gets together in the same room, uses one computer, and all works on the same project simultaneously. Mob is similar to Pair Programming, only that in this new approach, it’s not just two devs, but the whole team that is working together.

Here’s how it works::

  1. The “Driver” is the only person allowed to modify the code. Only one person uses the keyboard, and this role is taken by the same person during the whole duration of the session. But no one else can perform changes in the code but the one sitting with the keyboard.

  2. Everyone else is a “Navigator.” They are the ones thinking, reviewing, discussing, and describing so that the Driver knows precisely what to do.

  3. The “Navigator” role changes every few minutes. This gives the others space to think about other solutions. 

  4. It’s important to swap roles, to avoid teammates getting tired and not giving their 100%. 

Why We Use It?

The Mob Programming approach is a way of being intentional about collaboration. And it’s also about knowing that the best possible solution is within the team. This insight came as part of our collaboration with RileyTech, a software development consulting shop that helps companies like OnlySky improve development culture, processes, and ultimately the actual code they deploy.

The development team at Only Sky is divided between Colorado and Ukraine. But working with a team that is half remote, is no reason not to implement Mob Programming as a methodology. Eric, our Lead Engineer, has implemented various software solutions that allow the whole team, wherever they are, to meet at a particular time and work together. It makes every team member feel involved, and it’s also a way to generate a bond – especially when working from very different cultures, time zones, and backgrounds. In Eric’s words: “We all appreciate the time where we can work together. You get to see other peoples’ perspectives.”

For our dev team, this approach came in handy at the beginning when they came across old code, and they needed to get familiar with it fast. Thanks to Mob Programming, everybody knew what the plan was. They all were aware of the general situation of the code and could help each other with any blocks that came their way.

Among the other benefits of this methodology, we have found the team has: :

  • Shared ownership over decisions.

  • Better quality code.

  • Team bonding through working together, especially when working with a remote team.

  • Teaching less experienced devs levels new stuff.

  • Ability to break through large tasks easily.

Conclusion

Adopting Mob Programming has helped the OnlySky dev team fix and recycle old code more quickly. In addition, thanks to the few Mob Programming sessions, the team has learned how to work together, implement new features faster, and refactor segments of the application. In turn, this has led to more predictable deployments and better adherence to the roadmap timetable established by the product team.

Guest User