DZone
Agile Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > Agile Zone > Pair Programming - Dispelling the Conspiracy

Pair Programming - Dispelling the Conspiracy

Nitin Bharti user avatar by
Nitin Bharti
·
Sep. 30, 09 · Agile Zone · Interview
Like (0)
Save
Tweet
8.95K Views

Join the DZone community and get the full member experience.

Join For Free

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'?

 

dev

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Kafka Fail-Over Using Quarkus Reactive Messaging
  • Image Classification Using SingleStore DB, Keras, and Tensorflow
  • Message Queuing and the Database: Solving the Dual Write Problem
  • Transactions vs. Analytics in Apache Kafka

Comments

Agile Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo