XP Home

Pair Programming is Hard Work

Lessons Learned

 I've been experimenting with pair programming at my current position. I am fortunate to be working next to a programmer that I mesh with very well, and who is crazy enough to let me talk him into trying some XP practices. We've been spending about 50% of our time pair programming, and the results have been very encouraging. My observations are:

  • It's somewhat harder work, because my partner requires me to justify everything that is unclear or disagreeable.
  • It doesn't seem to me like we're being more productive at the time -- time does not go faster when you are always communicating, especially during vigorous arguments. But when we get done, we find that we've written a great deal of code that we both understand and like.
  • Sometimes we both want to drive. We haven't had to flip quarters yet to decide, so I guess it hasn't been a problem.
  • The shotgun partner can handle interruptions while the driver keeps coding. This is a big productivity gain.
  • When I win an argument, it feels merely ok. When I lose one because my idea was not the best, it feels ''great'', because I know my partner just saved us from writing poor code.
  • Sometimes we like to fork, with one going off to do a web search or write a quick test program, but we usually join before too long. Neither of us wants to let the other one get away with any unchallenged code!

 Our team lead noticed us working as a pair, and officially paired us for the next project. I couldn't have hoped for better -- now we ''have'' to work as a pair (shucky darn).

Wayne Conrad

ExtremeProgramming.org home | XP Lessons Learned | Next Lesson | Email the webmaster

Copyright 1999 Wayne Conrad. Logos Copyright 1999 J. Donovan Wells all rights reserved.