Author: Mark
• Thursday, February 04th, 2010

A friend of mine who owns his own business says “Two can do more than three times what one can do.”

Read it again.   Two people can do more than three times the amount of work that one person can do in the same amount of time. It doesn’t make sense, but it does.

At the beginning of January, I pair programmed at a professional level for the first time in my life.   We got done in a week what would have taken me the whole month.  The code had a full test suite, was solid, had a great API, was relatively clean, and we had complete confidence behind it.

Why were we able to do with two people in a week what would have taken one person 4? I think it is ultimately a biblical principle, applied to business: We spurred one another on.

  • Instead of getting distracted by the latest Google search, Facebook update or Blog entry (like I am at the moment), we kept programming.
  • Instead of allowing ourselves to make bad coding choices and hope nobody was looking, we called each other on the carpet and said “that feels gross… let’s do it right.”
  • Instead of skipping the tests, we took it upon ourselves to write hard tests that would be difficult to make pass, but ultimately got us closer to our goal.  As a result, we had better tests *and* better code.

All that to say, pair programming isn’t something you can do 40 hours a week.   I think it makes whatever hours you’re able to do it MUCH more productive, but it is draining and intense.  You certainly have to limit how much you pair program if you’re an introvert.   Do it 4 days a week in the mornings… getting things rolling… then move on and keep the momentum going on your own in the afternoons.   You’ll see your personal productivity go up then too, and you won’t feel like you’re ready to climb into a hole when you get home because you need some “alone” time.

That’s not a slam against my programming parter (the ever awesome Chris Johnson)–just a quality I noticed in myself.   Having quiet, code-free downtime is important for me to stay sane in the rest of my life, but going without pair-programming would reduce my productivity to levels that are way too low.   There simply has to be a balance.

The power of two is not to be underestimated.  Used properly, it will make a world of difference.

Category: Blog
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Leave a Reply