| I've participated once or twice and watched mob programming a bunch of times. Here's some feedback, for what it's worth. - Thinking aloud lets you solve problems in parallel, rather than sequentially. But if you're still hung up on something, you're free to be quiet and think, or think later - If it's an ego fight, you've lost no matter how you code. Better to get it out in the open and deal with it. (And perhaps let the person go) - I think personal space/time depends on the team, as it should. I have the opposite problem: I get bored and drift off online. I find other people in the room help me get back on track - Nope. Actually that's the beauty of mob programming. Everybody is up to speed all of the time. It eliminates bringing people up to speed. I think there are edge cases, one of which is bad teams, ie, bad mixes of people. But mob programming doesn't cause that. It might point it out a lot quicker, though. There are other edge cases, but the industry is still working through those. The problem that mob programming solves is one that a heckuva lot of programmers don't even know exists: over-specialization in technology development. |
I know what you mean, but "you've lost" is a bit too final for me. Obviously ideally you would never have these people, but in reality you may do, and as that's not the only quality you're judging them on letting them go might be a little harsh.
What I'm talking about is the idea of maybe a quiet developer trying something a little different, and having that good dna making it into the code-base. If you have a group of people who nearly all believe that mocking is a good idea, but someone would like to try refactoring so you don't even _need_ mocking, then I'd worry that in mob programming you'd never have that attempted.
Or perhaps everyone would be really open to that and because everyone is in a group more of those ideas would surface, and more different ideas and approaches would make it into the codebase.
I honestly don't know which of those two situations would occur, and maybe it's up to the team. I'd be really worried about the former, though maybe that says more about my background, who I am and the teams I've worked in though :-/