17 Dec 2021
In short, Mob Programming is a software development approach where the entire team works on the same thing, at the same time, in the same space, and on the same computer.
Think of Mob Programming as a tool that can be used to effectively chop down and complete large stories and epics.
Though it’s called mob ‘programming’, this practice isn’t all about programming - it’s about putting people together to solve a complex problem.
This means you can work on any project, from writing a document to planning for future work, to doing performance testing, with a variety of people and roles in the room contributing.
Mob programming extends the concept of pair programming, which is where only two people join a session to work together on a single machine.
Unlike pair programming, mob programming doesn't limit the number of participants. As the word "mob" refers to a crowd, mob programming involves two or more developers from the team. The specific number of team members involved is based on the requirements of the mob session.
Here are the basics of mob programming that you should consider in order to make your mob session productive:
Each of these tips are flexible and should be discussed with the group before starting.
Learn more about the best practices of mob programming here.
Ultimately, mob programming is performed to make teams more productive by working, sharing, and learning together. Here are just some of the benefits it brings:
Due to the collaborative face-to-face nature of mob programming, communication issues are eliminated, such as waiting for answers to questions and time wasting from back and forth email conversations.
Because the entire team makes decisions, those decisions are made more quickly with much more current and relevant information. Also, teams using Mob Programming view decisions as an opportunity to learn and to continuously steer to a better solution.
Additionally, when a developer had to drop out due to a commitment, work wouldn’t stall because others were able to carry on
With mob programming, WIP is reduced to 1, therefore greatly increasing flow and eliminating waste. This means getting work completed without being in a wait state, without having inventory or wasted time.
When a team works on one thing at a time, the team tends to keep things simple and prevents the addition of unnecessary things. Involving the entire team, including the product owner in these daily efforts prevents someone from inadvertently adding more in than what is truly necessary.
Mob programming is a great way to teach other team members various skills through working together and the rate of learning is also amped up on a team that is mobbing . Developers new to the team can be coding and making commits on their first day of work. Some who may be new to a language can learn from those more experienced. And more experienced developers can learn from the fresh perspective of newcomers.
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 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, Cardiff, soon to expand to other sites across South Wales to include Central Cardiff, Newport and Swansea.