Pair Programming



The pair programming thing turned up on TSS and ended up with the usual “You suck” enlighments with the occasional, surprisingly non-embarassed, opinions on whether or not the Struts API is easy to understand (sic).


If you don’t like to pair program don’t do it. I am not going to tell people what to do.

Unless of course you work where I work. In that case, share the (wireless) keyboard. The reason being code quality, and development speed.

We used to have a problem with code quality. Not code resulting in bugs necessarily, but code that was not 100% in terms of maintainability etc. We did of course have code reviews but it seemed that we could not get enough of them. Enter PP, with continuous code reviews. Code quality has never been better. Of course, all of you people out there who don’t like PP are probably very, very good programmers who don’t never had this kind of problem, right? :-)

PP answers our need for speed. No, I have no benchmarks, but take my word for it. At our place development is faster since we switched to PP. Cedric, normally somebody whose opinion I highly respect, has started sharing the managerial opinion of two people at keyboard equals half the productivity:

[…] the combination of developers + QA engineers can work wonder, and you will get twice as much done than XP will ever allow.

Please! I don’t know who said it first, but the speed of development hardly depend on how fast you can type, whatever the superpowers of your QA department. I can accept a lot of reasons against PP, but that one is, in my very humble opinion, plain rubbish. Sorry.

Rickard is from what I understand an ultra talented programmer.

The point of pair programming, as I’ve understood it, is not actually the programming itself, but the exchange of ideas.

However, he’s missed the full point of PP. Exchange of ideas is good, of course, but in my opinion it’s the notion of continuous code reviews, which incorporates a lot more, that does it.

This almost turned into one of those TSS rants. Ouch.