Live data from Hacker News

Mob Programming – The Good, the Bad and the Great

underthehood.meltwater.com

41–50 of 98 posts

Re: Mob Programming – The Good, the Bad and the Great

#42
post #10

Upvoting because it's a fascinating idea. I find it weird they didn't really point out any down-sides, possibly because it's a corporate blog and marketing wouldn't let them. Off the top of my head though, I'd be worried about: - No time to think. I find I solve solutions by thinking about them, and I can imagine mob rule would lend itself to less thinking and more doing (fastest solution that sounds half-right gets…

Hey! One of the authors here. I will do my best to provide some responses, but it's kind of late here.

- I find it weird they didn't really point out any down-sides, possibly because it's a corporate blog and marketing wouldn't let them.

Not at all the case, we had some bad but felt the post was kind of long so they ended up edit out. No one but us reviewed the post first ;) Actually didn't even really notice all the negatives were gone until it was mentioned...

Here is the negatives we edited: " It was not all positive. Finding a smooth way of working took a long time, and we lost team members along the way, presumably at least partly because they did not enjoy this. Personality differences became painfully obvious, and a lot of time was spent talking openly and honestly to each other on how to stop rubbing each other the wrong way.

Taking on new people is both easier and harder in this setting. The bonus is that they will come up to speed with the work a lot sooner. The drawback is that you have to redo the personality resolution dance before work will run smoothly again. "

- No time to think. I find I solve solutions by thinking about them, and I can imagine mob rule would lend itself to less thinking and more doing (fastest solution that sounds half-right gets done first). Similarly…

This was actually a focus of a retrospective today, and we do see this happening sometimes. We agreed today to try to be more aware of it, and for people to speak up when they feel it is happening.

- Biggest personality wins. I'd worry that whoever had the largest personality would drive everything, leading to people being disengaged. Especially when it comes to engineering / structural decisions, if that person thinks they know whats best you're not going to have the chance to try something (and maybe fail) and grow as a developer

This was only the case for the first few weeks, then as we point out in the article: "Interpersonal issues and friction had to be resolved. When interpersonal issues happened they get brought up much more quickly. In a ”normal team” when there are these types of interpersonal issues they are often allowed to fester. People who have issues only need to deal with each other for limited periods of time, so they just grin and bear it. This isn’t really possible inside of the mob because you would go completely insane."

So this ended up being actually the opposite effect in the long term, dominant personalities were addressed and we all grew as a result.

- No personal space. You know, maybe it's because I work from home, but sometimes my fiancee messages me a video of a cat being cute, and I might just take 2 minutes off working to watch it, because I'm a human being and not a sack of watery meat sacrificed to the gestalt. I could imagine it would be very awkward to do anything at work that wasn't explicitly working, which sounds pretty suffocating to me.

This is indeed something we struggle with, and we bring it up a lot. People are allowed to leave the mob as often as they choose, but sometimes it feels like there is a social pressure to stay. All I can say is we try to be aware of it, and one of our working agreements is to "remind each other it's OK to leave the mob"

- Constantly bringing people up to speed. Maybe this is actually a good thing? IDK, but I think if some people are faster than others, or people wander off to make a coffee or whatever, or come in at different times, or leave at different times, you may spend a lot of time going over the same decisions and working through the same problem spaces over and over again. This could be a good thing, or it could be OK that some people know about component X and some know about component Y and there is little overlap.

Not sure I follow this one :P

- If anyone from Meltwater is reading this I'd be interested to know if you had any problems (these ones or other), because it sounds like-- ignoring the first month-- this plan has no flaws. Which seems hard to believe.

It's definitely not been all smiles and roses, and we have struggles like any team, but we also all agree that this has been an amazing experience and well worth any negative effects we've seen.

Re: Mob Programming – The Good, the Bad and the Great

#43
"Here’s the crux of it, typing isn’t the bottleneck in software development"

This isn't a good argument for mob programming imo. This argument pretends as if the only reason programmers would ever work individually (or in pairs) is because more keys can be mashed in less time.

In reality, we work individually (or in pairs) so that work can be completed asynchronously. I can fix a UI defect while Jim fixes a performance issue, and Sue adds a new feature being requested by a potential client.

Having worked on a large team, and being an introvert - mob programming would have been a disaster. We had one or two extroverted personalities on the team, and they would have driven the entire effort while the majority sat and watched.

It's really cool that this works for someone. Great teams adapt and find a process that works. However, I would advise leadership at any company doing mob programming to carefully observe the more introverted personalities on the team. They probably won't say anything, but they might be dusting off their resume.

Re: Mob Programming – The Good, the Bad and the Great

#44
post #20
post #15

Earlier quoted context omitted.

And maybe the cost? If you pay 5 developers, I wonder how much more (or less) they get done by working individually or by doing this mob programming.

Oh yeah good point. If you're worried about pair programming not paying off mob programming is an even more expensive proposition.

I suspect that it's the kind of thing that pays off... sometimes.

There are times when the machine is the bottleneck. Multiple monitors, SSDs, many cores, multiple machines... and I still end up waiting for (re)builds because I touched a header on each machine, trying to tackle a problem.

Having a whole mob blocked on those recompiles is going to be hideously wasteful.

On the other hand, there are times when I've "mob programmed" without knowing the term. The typical pattern was someone would loudly "WTF?", that'd pique the interest of a nearby programmer, and then a 3rd would be roped in via questions, as we knew they'd taken over the relevant mess of code... often oscillating between all eyes on the same bit of code, and spinning off to launch our own investigations into related bits...

Re: Mob Programming – The Good, the Bad and the Great

#45
> Work never stopped.

It shouldn't stop anyway. This way just seems like work got a lot more inefficient.

> Knowledge sharing increased

Sure... But I imagine it's hard to keep track of it all.

> The overhead got removed.

And a lot more overhead just got added.

> Anyone could go to any meeting.

Where is the win? Meetings should be targeted problem solving sessions anyway.

> Our tooling improved. When working together like this every minute is precious, and laborious manual procedures that you just buckle down and get done as an individual can no longer be tolerated.

I can see this being useful.

> Individual weaknesses could be overcome.

And individual strengths could disappear.

> Interpersonal issues and friction had to be resolved.

For me it just seems like they would grow and destroy the team.

> Stress levels dropped.

As an introvert I can't imagine a more stressful environment.

> We became more daring and forward.

A fear is that you resist change more and you become less forward.

> We became friends.

I don't think I would in an environment like this. But anyway, what relevance does becoming friends have with being productive and running a successful business? It's super good not to hate each other but everyone being friends might even be counterproductive.

Why oh why did you list 10 positive things but didn't even bother listing the negative aspects? I dunno like this completely destroying your productivity or it being a completely horrible working environment for introverts?

Re: Mob Programming – The Good, the Bad and the Great

#46

How big is the mob? I don't think you want to do this 20 or more programmers (the more people you have, the more formalized communication structures you typically need). I could imagine this working with four or five people, and I'd be worth the experiment, but I don't think I'd want to do it all the time.

(Author here) The team in this post was six when we started, four now (five if you count our coach who's actually worming himself into the mob now ;) ).

I would definitely not do this with 20. Then again I really wouldn't want to work in a team of 20 no matter the method.

Re: Mob Programming – The Good, the Bad and the Great

#47
post #18

Earlier quoted context omitted.

I believe another reason to not pointing out the flaws come from mob thinking. It becomes very hard to criticize "the collective". And yes, I think you have a great point on Biggest personality wins, that is already a problem on meetings. Lot's of amazing developers I've worked with had a hard time speaking in meetings...

I wonder if you could set up a round robin programming order. Something like switching which is typing every day. So like whole team puts input while one person types, then delegate one person to drive the discussion. I don't know if that would help much though or just put it back into pair programming with extra overhead.

(Author here) We do round robin for keyboard input, but a lot more often than that. We try to switch a couple of times each hour.

We do not have a particular person driving the discussion though, I do not see that that would help us in any particular way.

Re: Mob Programming – The Good, the Bad and the Great

#48

This is an introvert's nightmare. I feel like going to a room and turning off all the lights just reading about this. I'm glad it seems to be working for them, and I'd be willing to give this a try for a week, but I'm not even sure if I'd wait 'til I had a job lined up before giving my two week notice. If I have to spend eight+ hours a day doing nothing but talking to people, I'm going to have no energy left for anyt…

My first thoughts exactly. I'd be very surprised if there were not at least one introvert on that team (there's an awful lot of us!) and would love to get their perspective.

Introversion isn't always obvious. I'm guessing in that situation, I'd seem perfectly fine during the day while I'm there, but totally unable to sleep when I got home because of all the talking swirling in my head.

Re: Mob Programming – The Good, the Bad and the Great

#49

I'm an agile coach and my clients won't stop talking about this. Here's the deal, some 70%+ of developers are introverts. Mobbing can be great for fixing a bug or mentoring more than one person at a time but mobbing is not how you should expect your devs to work all day every day. This is probably not lost on fellow HN'ers but OMG the cargo culting amongst managers. Do not let them see this article. Lastly, watch thi…

Oh, good lord, that looks awful. I'd be fidgeting around like the guy in the black shirt all day.

The worst thing is it would just be exhausting. Having to constantly deal with people for eight hours straight, with no peace and quiet or private space to think would be maddening. I'd rather swing a chainsaw bucking up firewood on a hot day.

Re: Mob Programming – The Good, the Bad and the Great

#50
post #48

This is an introvert's nightmare. I feel like going to a room and turning off all the lights just reading about this. I'm glad it seems to be working for them, and I'd be willing to give this a try for a week, but I'm not even sure if I'd wait 'til I had a job lined up before giving my two week notice. If I have to spend eight+ hours a day doing nothing but talking to people, I'm going to have no energy left for anyt…

My first thoughts exactly. I'd be very surprised if there were not at least one introvert on that team (there's an awful lot of us!) and would love to get their perspective. Introversion isn't always obvious. I'm guessing in that situation, I'd seem perfectly fine during the day while I'm there, but totally unable to sleep when I got home because of all the talking swirling in my head.

Weird, when I'm in that sort of situation all day, I usually feel like doing nothing but going straight to sleep.
Post reply on HN