Some thoughts about pair programming


After pair programming pretty often for the last months this is what I think about it:

  • Pair programming improves code quality.

  • Pair programming improves team focus (for example when the guy behind you says “hey is that stuff really necessary for this sprint?”).

  • Surprisingly many developers that are strongly against pair programming actually haven’t tried it, and quickly learn to like it once they do try it.

  • Pair programming is exhaustive and should not be done all day.

  • Pair programming should be done in complex stories only(related with the previous).

  • Shifting pairs frequently is good.

  • Pair programming does improve knowledge spread within the group (Related with the previous too).

  • Some people just aren’t comfortable with pair programming. Don’t throw out an excellent programmer just because he isn’t comfortable with pair programming.

  • Code review is an OK alternative to pair programming.

  • It’s useful that the “navigator” (the guy not using the keyboard) has a computer of his own as well. Not for development, but for doing little spikes when necessary, browsing documentation when the “driver” (the guy at the keyboard) gets stuck, etc.

{: .notice} Please try it before criticizing, I was also reluctant at first. I thought it would be a waste of time until I realized all the advantages.