* Posts by doug rosenberg

1 publicly visible post • joined 31 Jan 2007

The perils of pair programming

doug rosenberg

just a cog in the machine, grinding away

As Matt's co-author on 3 books now, I feel compelled to add a response on this one, especially as it was the pair programming discussion in his "Case Against XP" article that caused us to start writing books together (more on this below).

I thought the comment about gears in a Swiss watch was interesting...as it seems to me that having personal preferences and choice is one of the major differences between humans (or humanoid components of a biological system) and mechanical gears, who, I presume, don't much care which gear they are paired with, or whether they are paired at all. Neither Matt nor I are against VOLUNTARY pair programming, and we happily acknowledge that there can be benefits to this practice. What we are both against is MANDATORY pair programming, and "software processes" whose success depends on this practice. In other words, if you (and your friend) like to pair program, then we have no objection to your doing it. But if Matt, or myself, or the guy at the next desk have found that we work more productively solo, don't impose your preferences on us, please.

I spent 15 years of my career writing code for a living (lots of it on trivially simple stuff like VLSI design automation and submicron electron-beam lithography) and I worked with some good programmers, some bad programmers, and occasionally some bad-tempered but brilliant programmers (one who was hypoglycemic and had a propensity for shouting when his blood sugar dropped, which was about every 30 minutes). I would have gone absolutely crazy (and quit) if pair-programming had been forcibly inflicted on me.

Matt and I became friends and co-authors (we pair-author our books via EMAIL between London and Los Angeles) because of one sentence in his discussion of this exact topic in the article I mentioned above. I'll cite the line because I thought (and still think) it was brilliant:

(Referring to the argument that if you haven't done pair programming you're not qualified to comment on it) Matt said: "Luckily, we humans have pre-cognitive dissonance" (I said..."what???") and he continued "I've never dipped my head in a bucket of sh**, but I know, unequivocally and without question that I wouldn't like it if I did". After I picked myself up off the floor and wiped the tears of laughter from my eyes I sent Matt an email and the rest is history. Later he told me that he had almost pulled the line from the article. Good thing he left it in.

Doug Rosenberg