Reply to post: We did pair programming. Now we do mobbing.

Pair programming: The most extreme XP practice?

Anonymous Coward
Anonymous Coward

We did pair programming. Now we do mobbing.

Where I work, we really kicked in with pair programming and saw the benefits mentioned in the article. We then took it further and now do mobbing.

We have a huge wall-screen, a bank of chairs, a single desktop and 6 developers. We all work together on the code (using TDD) rotating amongst us for who sits at the desk and does the typing. Occasionally (suprisingly rarely) we'll add a task to our story for, maybe, implementing an interface or some such and a pair will split off to a desk, action it and return. Other than that we are one team, one codebase, every day, all day (with a 5 minute break every hour or so).

We are working on the same ever-iterated codebase we were before we introduced pairing. Switching to pairing slowed us a little but boosted our overall throughput due to better code/fewer bugs plus the elimination of peer reviews (as we worked with a peer on the code).

Switching to mobbing was, we expected, going to slow us down. It did, but only if you disregard the quality (oh, you fool). With mobbing there is nowhere to hide; we are all better developers as we've dropped many subconscious bad habits while taking on the best bit of each other's workflow. We have unbelievably less bugs than before, and these are almost always due to domain misunderstandings and (almost) never traditional bugs. Nobody can skip testing (a recent Angular multi-screen form had hundreds of client-side tests alone). Nobody can add quick hacks. Nobody can do workarounds. The team sees all.

The breadth of disparate knowledge and experience amongst us leads to a pool of ideas to choose from at any time, in-depth discussion of pros and cons, and notably fewer false starts or mis-steps. Many dead-end coding avenues we might have gone down on our own or in a pair are dismissed right at the start thanks to consensus, discussion and combined experience.

Prior to pairing, back when we first introduced peer reviews (I hated the idea) there were people I'd never ask because they challenged me too much. Now, all the developers (and quite a few non-developers) in the office can see every line I write and hear every suggestion/justification I make and I wouldn't have it any other way.

I'd be disappointed to 'step back' to pair programming. Devolving all the way back to solo work would be gut-wrenching.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon