Defending the Python lanuage...
mcherm at destiny.com
Thu Feb 7 22:14:50 CET 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 ;)
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