Agile Zone is brought to you in partnership with:

Nitin has posted 391 posts at DZone. View Full User Profile

Pair Programming - Dispelling the Conspiracy

09.30.2009
| 7499 views |
  • submit to reddit

Richard Stobart has written an excellent article over at ITWales.com that provides some very interesting perspectives on the practice of pair programming.  Conspiracy theorists, cynics, and even customers might view pair programming as an attempt by the global developer community to reduce developer supply and charge higher prices -- after all, two developers can charge more than one. 

Doubling demand on XP projects means more work for developers and reduces the pool available for traditional projects - rates go up and more jobs are secured. Is this the same genius as those 70's marketing execs that added "step 3 - repeat" to double shampoo consumption and therefore sales overnight or are there genuine productivity gains to be had for consultancies and customers?

Richard also prompts us to wonder whether all 'programming pairs' are created equal. He references a study from Tom DeMarco's book 'Peopleware' which shows that the top quartile of developers were 2.6 times more productive than the bottom quartile.

That's a significant saving, more than double the cost of a pair. So, can two bottom quartile developers pairing be as productive as one top quartile developer? Probably not but it's a complex equation with hard-to-quantify variables - in reality the truth of the benefits lie in the sum of the parts.

But Richard argues that pair programming does in fact work, resulting in very real productivity gains and cost savings. Defects caught during development - defects that might not have been caught by a 'lone wolf' programmer - result in far greater cost savings over the long term.  The synergies, and the collective 'flow' gained through pairing can and does result in higher quality code. In fact, Richard's very own company has transformed its development environment to better accomodate and encourage pairing: 

We embrace the productivity gains that we see from pair programming and structure our development environment to accommodate it as much as possible, all our new developers do a paired coding test to ensure that they can fit into this way of thinking. We have pairing stations with 30" monitors, dual keyboards and mice, flat fronted desks and Scrum Masters that encourage pairing.

Richard concludes by advising developers to carefully explain the benefits of pair programming to customers, and to show them that effectively integrating such a strategy into a development environment can result in significant cost savings. 

What are your experiences with pair programming?  Are you currently using it within your organization?  Have the benefits outweighed the 'costs'?

 

Published at DZone with permission of its author, Nitin Bharti.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Artur Biesiadowski replied on Thu, 2009/10/01 - 10:37am

Why customers should be even aware of pairing programmers? If this is so cost effective, you just charge for something estimated for 200 mandays and do it in 50 days with 2x2 instead of 4x1.

Michal Huniewicz replied on Thu, 2009/10/01 - 11:57am in response to: Artur Biesiadowski

I agree with Artur on that one. I don't think that the customer should be aware of inner programming practices, provided they produce satisfactory results. Not to mention many of them probably don't even care. I found pair programming a great practice whenever there is a new team member on board and also when there is a core, complex functionality to be programmed, and two heads may prove more effective than one.

john green green replied on Sun, 2009/12/06 - 11:36am

Richard also prompts us to wonder whether all 'programming pairs' are created equal. He references a study from Tom DeMarco's book 'Peopleware' which shows that the top quartile of developers were 2.6 times more productive than the bottom quartile.
nike china shoes

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.