When you first try mob programming, you might find it confusing, messy and also a bit nerve-wracking. Suddenly you are not a “single-player” anymore – you are part of a mob!
So, if you are used to doing all the structure, thinking and writing by yourself, you’re in for a whole new experience.
But, will you have fun, learn a lot, and get to know some great people? You sure will!
The definition of mob programming is when the entire team work together with the same task, at the same time, at the same computer. “Well, that seems a bit difficult and not very practical”, you might think. And yes, for this to work it’s important to have a good structure and treat each other with kindness and respect.
There are a lot of reasons why mob programming is a good idea to try – here are a few examples.
First of all, it’s a great way to get to know your team. Even though you spend most of your time on your own keyboard, it’s always good to know the people you work with. In a way, mob programming is almost like a teambuilding exercise.
The second benefit is learning. Mob programming is all about discussions, sharing ideas, brainstorming and learning from each other.
The third thing is that you’ll get better and faster at coding. Four pair of eyes are better than one when you have a problem to solve, so you'll spend less time stuck. And, when there are more of you, you’ll also get the opportunity to discuss which solution would be the best and not just settle for the first one you thought of.
In the mob, there is always one person who is the driver. The person in the “driver's seat” is the only one who is writing code – no one else. The others in the team are called navigators, and their job is to discuss the code with each other and then describe to the driver what she/he should write.
The team also sets a timer to let them know when to switch – it could be, for example, after ten minutes. So, the driver writes code in ten minutes and when the alarm goes off, the team rotates. This way, everyone in the team gets to be both the driver and navigator.
“One thing to think about is that the team members may have different types of skills, or different levels of skills.”
That is why it’s very important to make sure that everyone understands what is happening during mob programming. It is not only one person’s code – it is everyone’s!
Even though working together in the same room seems like the most fun, there are still good ways of trying out mob programming remotely.
If you want to do this with a code editor, I can recommend using Visual Studio Code. After you have downloaded it, you can search for the extension called “Live Share” which makes it possible for people to read and write in the same file. If you have started the project, you will just need to invite your team – and when one of your team members is the driver, you can actually see them writing code in your file. How cool is that?
If you'd rather not complicate it by downloading things, check out Codesandbox which pretty much does the same thing, but in your browser instead. Just sign up for a free account, invite your friends, and start coding!