home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.software-eng
- Path: sparky!uunet!tcsi.com!hermes!miket
- From: miket@hermes.tcs.com (Michael Turner nmscore Assoc.)
- Subject: Re: Will we keep ignoring this productivity issue?
- Message-ID: <1992Nov12.225440.14448@tcsi.com>
- Sender: news@tcsi.com
- Organization: Teknekron Communications Inc.
- References: <1776@aviary.Stars.Reston.Unisys.COM> <1992Nov11.055130@eklektix.com> <1992Nov11.173103.15814@blaze.cs.jhu.edu>
- Date: Thu, 12 Nov 1992 22:54:40 GMT
- Lines: 51
-
- In article <1992Nov11.173103.15814@blaze.cs.jhu.edu> wilson@rhombus.cs.jhu.edu (Dwight Wilson) writes:
- >In article <1992Nov11.055130@eklektix.com> rcd@raven.eklektix.com (Dick Dunn) writes:
- >
- >>>...However, it is a fairly-well-established rule of thumb that
- >>>very good programmers can be an order of magnitude or more productive than
- >>>the average and do a good job...
- >>
- >> ... "It's more like
- >>*two* orders of magnitude! You get the first order-of-magnitude difference
- >>when the code is written. The second comes during maintenance." ...
- >>
- >>How *can* we afford to be off pondering complexity metrics, bantering about
- >>25% changes, gaping in awe at the occasional arguably-possible factor of
- >>2, when there's this sort of fundamental difference that's been staring us
- >>in the faces for the past several decades?
- >
- >Before we try to fix this problem, does anyone have
- >analogous numbers for other professions? I would expect that
- >professions demanding high creativity would have a large
- >difference between the best practitioners and average ones, and
- >an order of magnitude is not particularly surprising.
-
- First let's get our own numbers straight! From _Controlling Software Projects_,
- I remember something like a factor of 4 to 5 (not 10) between AVERAGE and best,
- and a factor of 10 between WORST and best.
-
- The possibility of two orders of magnitude difference -- one from
- initial construction, the second from maintenance -- ignores a common
- trade-off: that some of the most prolific construction programmers can
- produce almost unmaintainable code. And the some of the best
- programmers from a maintenance point of view code slowly -- maybe even
- more slowly than the average, in some cases.
-
- Still, I think it's possible to have SOME of the best of both worlds. If you
- think of a new program as one that you are "maintaining into existence" (Cf.
- Peter Deutsch's famous comment: "Programming is debugging a blank sheet
- of paper"), then you can expect to keep a fairly high rate of productivity
- on a sustained basis, because you are investing continuously in future
- productivity. But how many of us have the range of skills, abilities,
- knowledge, etc. to be this good all the time? I try to be this way myself,
- but get infected quite often by the attitudes of those around me.
-
- There is a big problem with the strategy of "Pick the best programmers
- and support them totally" as the best approach to higher productivity.
- This is not a new idea -- take a look at _The Mythical Man-Month_ for
- a review of the Chief Programmer Team concept. TECHNICALLY, it's very
- hard to refute. The problem, I think, is not technical but political:
- it gives these highly productive programmers too much power!
- ---
- Michael Turner
- miket@tcs.com
-