in reply to Extreme Programming Frightens This Perl Programmer
I can only report from my personal experience about pair programming - I've done this over the years together with a close friend, and I must say that it always worked very well, even in the implementation stage, since we did everything together, the high-level planning, the implementation and the debugging (this was before the light of regression testing shone on me). Of course, there was no ego problem between us and neither of us had any problem getting criticized<sp?> for what he wrote, but most of the time, bad code wasn't written at all because the questions came in the instant of writing that questionable code. The whole setup worked very well for us while we explored the wonders of the Windows 3.1 API, object oriented programming and writing device drivers (not all in one project, mind you) - all of these were projects where both of us didn't have any experience in at the time, and so explaining each straw of wisdom gathered was helpful for both.
Nowadays, I don't do much pair programming anymore (I don't do much programming beyond bash, quick Perl hacks and some Java anyway), but I find that I am very helpful at debugging code (mostly C(++) code) without even seeing it. People come to me, explaining their symptoms, and I oracle at the (possible) errors in their code. Of course, my sage abilities aren't that good, but while people then go over their code looking for proof of correctness of their code viz my foretold error, they look at the code with other eyes and find their error. It's not that much fun as pair programming, but it's also effective (and spares me from having to actually write C code ;-)
Summarizing, my experience only comes from pair programming in situations where the needed specific knowledge was low and had to be achieved, but there I can say pair programming worked for me.
|
|---|