Ask HN: Have you tried mob programming?
Mob programming, the art of multiple programmers collaborating on one computer and still being efficient.
Have you tried it and did it work out?
By trying I mean doing it on production code for more than one day. We have now tried it for on one consecutive week and to my opinion with great success! The benefits that people are claiming I find are true, so far. It’s different, but it has almost eliminated all lead and wait time for us which I consider to be a huge obstacle for effectiveness. I got convinced by The book The Art of Agile Development (https://programmingbooks.dev/#the-art-of-agile-development) where he describes mob programming as an easy mode for collaboration. We used the book Code with the Wisdom of the Crowd (https://programmingbooks.dev/more/#code-with-the-wisdom-of-t...) as a guide to learn of to do mob programming. I have and I can't think of anything worse for developers. Being on the phone all day, group solving problems is a great for the below average to hide within the group. If you have people wanting to hide from contributing then there is a bigger problem in the team I would say. But otherwise, why do you think it’s so bad? The entire day on a call with a headset is one aspect. The waste of 3 or more resources trying to solve one problem is another. Changing a solo activity into a group activity means you can never go deep into abstract thought or take the time to pause and reflect. Too many cooks in the kitchen is the old saying goes. Isn't developing a product a team activity? I think the opposite, why turn a group activity into solo activities? Mob programming doesn't mean you can't work solo or in pairs sometimes when it is well suited for the task. I wonder how Robin Dunbar [1] would weigh in on this question. He originally wrote that the largest stable social network was around 150 people - laying waste to people on MySpace claiming 1000+ friends. More recently, he co-authored a paper which says it' closer to half dozen. If you have a large group, you break it up into smaller "committees" - in World of Warcraft, guilds have role players. The WorldCafe [2] argues for 5. In a recent "agile" project we formed a group of 5 people, 3 of which took on the software dev task and the result was fantastic. Some time ago I talked about my experience with mob programming here and it got quite a good discussion: https://news.ycombinator.com/item?id=30383382 Interesting thread. Some people are skeptical which is normal for anything new and and unfamiliar. But, some people say they just don’t want to work with people, which I would find alarming and a red flag. The most important thing when you hire someone is that you can work together as a team. Being a developer is not a solo, sitting alone job for any project of a bigger size and success. The thing about mob programming is that it tends to lead to GroupThink. Mob programming feels good because you're not alone in facing this problem, which is a very human response. However, feeling good is not a reliable indicator of progress. In fact, I would argue that discomfort is a sign of potential growth. As long as you're not harming yourself or others, discomfort can be a sign telling you you're headed in the right direction. Either way, it's just a job and as long as you're behaving lawfully, there are no real consequences for you if you make poor decisions as a group. The project may or may not succeed, but at least you had fun, right? A company I worked at introduced it and my productivity fell through the floor. I gave it 6 months before concluding that it wasn't an environment that suited me, and moved on. Some people thrive, some people tolerate it, and some people consider it hell. It’s very strong of you to do something you don’t enjoy for 6 months giving it some real time. But I am curious what was it that made your productivity fall, and what didn’t you like about it? May I also ask how was introduced and used? And why did your company introduce it?