Defending the Python lanuage...

Michael Chermside mcherm at destiny.com
Thu Feb 7 16:14:50 EST 2002


>> Really? What an unusual idea - I didn't realise we had such a surplus of
>> programmers to advocate something like this :-)
> 
> This is a little more "extreme" than I was referring to as well.  The idea
> of two programmers sitting at the same computer doesn't really go over well
> with me... I was referring having two programmers sit side-by-side at
> separate computers, working on different parts of the same program versus
> having one programmer work in isolation.  Indeed, I don't know many
> programmers with the patience to sit and watch someone else type ;) 


Ermmm.... No.

When XP or Agile Programming advocates talk about "pair programming" 
they really DO mean one keyboard, two programmers.

Peter Milliken writes that he didn't know we had such a surplus of 
programmers -- this is a common misconception. Suppose that, working on 
your own, you get X amount of coding done in a day. If we could spare a 
second programmer to stand there and just help you out -- someone to 
bounce ideas off of, to watch for typos, to suggest things that you had 
forgotten -- then you'd get MORE done... say X * k.

If k is 1.05, then you are getting a 5% speedup by having someone around 
to help out. If k were 3, then you'd get THREE TIMES as much done. If 
THIS were the case, then it'd be worth it to your company to tell 
someone else to stop working on their own and just help you out! The 
break-even point is somewhere around k=2.

The exact value of k depends on LOTS of things, including the 
personalities of the programmers involved, the kind of work involved, 
etc, but I have heard several different annecdotal estimates that place 
k at just-less-than 2. (Maybe k=1.9 +/- 0.2 for typical situations.)

If k is close to 2, then there it might NOT be a stupid idea to put 
programmers in pairs, even without a surplus. Particularly because we 
expect some additional benefits in addition to the coding speed, like 
fewer bugs and better sharing of the knowledge among the coding team.

As for Cliff Wells' contention that he doesn't know many programmers who 
would want to do this, I have to differ. There are clearly some 
programmers who absolutely hate working in pairs, but there are also 
many others who LOVE it.

Now I just wish I could convince my company to consider doing pair 
programming. Because for *ME* personally, k is around 3 or 4.

-- Michael Chermside









More information about the Python-list mailing list