I was lucky enough to attend the SUGSA meetup with Mark Pearl talking on Mob Programming. Mark is a developer coach from South Africa who has recently immigrated to New Zealand. He is one of the few South African’s I know who has deeply explored Mob Programming and consciously gone about learning what makes it successful. I was excited to hear what he has learned about the topic.
For those of you new to Mob Programming, his definition was simple: Mob Programming is when 3 or more people get together at a single computer to solve a single problem.
Here are some of my key takeaways from his talk:
- Don’t expect your first Mobbing session to be awesome, when he started they held a retro after every session to learn how they could improve.
- Mob programming helps improve productivity by directly preventing things that destroy productivity like (multitasking, interruptions, waiting for info, being blocked, technical debt, etc)
- It will take more man hours to get a feature into production using Mob Programming rather than a single developer. The benefits usually help after that.
- Don’t try to justify Mob programming financially to management before you start, just book a meeting room and try it out.
- Physical setup matters, a meeting room is fine to start, but if you want to do this regularly it needs to be possible in your normal work environment.
As someone who has spend most of the last 5 year’s pair working, I was quite interested to hear how Mark thinks Mobbing is different to/better than pairing. Here is what he said:
- Mob’s are less likely to be swayed by one strong individual.
- Mob programming is substantially less confrontational than pairing
- If one person needs to leave a mobbing session work can still continue, with a pair it stops.
- In general because you can take breaks when you need to without interrupting the flow of work, it is possible to sustain longer mobbing sessions that pairing sessions.
- In pairs, problem solving is limited to the smartest person in the pair, groups of 3 or more have been shown to solve problems beyond the capability of any single individual in the group.
Mark is also busy writing a book on Mob Programming with his learnings: https://leanpub.com/GettingStartedWithMobProgramming