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.