Pair Programming

Pair Programming

Epic Goal:   Learn the art of pair programming.

Here is a short history of my feelings towards Pair Programming.  (Keep in mind I love to work with people I don't prefer to work in a cave alone)

2000-2009:  It's Dumb!
Two guys and one shovel between them to do the work?  That's Dumb!  Of course two guys with one shovel will get more done than one guy with one shovel in 8 Hours, but they will not get as much work done as Two guys who each have their own shovel.
2010-2012:  It has some value... 
Pairing up to 1/4 of the time may be a good idea....  You can use the pairing time to educate your newer people on how your systems work.  Pairing, part of the time, can be used to automatically educate and share knowledge and company coding standards.
2013-2014:  It is absolutely worth doing a portion of the time ...
Part time pair programming is not only good for sharing knowledge and bringing new people up to speed but its also good for the following

  1. Maintainable code.  
    • The code becomes more maintainable for three reasons.
      1. Knowledge is shared, more people have touched more of the code (cross-training)
      2. Team coding standards are naturally enforced by the pairing.
      3. The team figures out the team's capabilities and code to that level.  If you have some code that is very advanced "level 10/10" that only two guys on your team can even read, yet alone understand, you don't have maintainable code.  Pairing makes the high level coders realize where the team is and brings to code more in line with what the team can support.   
  2. All programmers become better
    • Newer programmers become better programmers because they pair with better programmers.  Great programmers become greater still because they are pairing with great programmers (Iron sharpens Iron).  Your teams average coding level can't help but go up.
2015-????:  A team doing good part time pairing with the right attitude produces a far more productive and joyful team???  
Personally, I am not here yet, but I think I am on my way towards this attitude.   Its going to take some more education and experimentation on my part to get there.

Pair Programming Check Your Attitude


After finishing the Joy Inc. book and seeing how menlo innovations manages pair programming I got to thinking about some of my past experiences.   Funny thing is I thought back to when I was a teenager working at a bicycle shop and how the team dynamics worked there.


I've been reading through some older books on XP from back in 2002.  "Extreme Programming Perspectives" is one of them.   They had a very good article on "Mob" Programming

1 comment:

  1. This article is an excellent source of information. I'm delighted to have read it and grateful for the valuable insights shared. It's fantastic and greatly appreciated. Thank you for posting this!