Pair Programming

I have never heard of this term until I read this article in today’s NY times. The idea is to have two people doing any programming task. One is a driver and the other is a navigator. As the driver writes the code, the navigator keeps checking the code for bugs or any other discrepancy. They sit side by side physically all the time. The pairing gets changed all the time depending on the project needs. Sometimes a junior programmer can feel intimidated pairing up with a senior member. Then the trick is to make the junior member play the driver role. The article talks about other issues that may arise, such as disagreement between the pairs or personality clash.

The claim, as we can predict is better quality via early error checking. As they say, two brains are better than one. The other model is solo programming as the vast majority do, but break it up into 25 minutes chunks with a 5 minute break for checking email, do social networking, etc. This style apparently has a name – Pomodoro, which means tomato in Italian. When someone does not take the break, someone else shouts – respect the tomato.

Various styles of programming have been advocated over the years. Way back over 17 years ago, I was spearheading a concept at IBM to have a specially designated design room for reviews. The code gets projected on the wall/screen and a number of folks can stare at it and do the walk-through. That experiment yielded many early detection of errors and bugs. Management thought it was a very novel idea for bettering code quality. Remember, this was pre-internet, broadband and before we had Webex like collaborative tools.

I wonder how wide spread is this “pair programming” concept.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s