🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sw.components
Article #117

Re: Reasons for low ADT reuse

#117
From: Scott Henninger
Date: Fri, 22 Sep 1989 15:52
77 lines
4439 bytes
|>From scotth@boulder.Colorado.EDU (Scott Henninger):
|> The ADT approach has been around for a long time, so I ask you, 
|> why is it not currently practiced?  Don't tell me that training 
|> is the answer - programmers are already trained to design and 
|> implement ADTs.
|
|>From: billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe, 2847 )
|   You want results?  From the article cited above: Magnavox did a
|   Ada project at the 1.2-million-line level in which reuseable
|   software NOT developed on the project was not counted at all,
|   and reuseable software developed on the project was counted only
|   once; the productivity was 550 lines per man-month for the systems
|   software and 704 lines per man-month for the applications software.
|   The average productivity found in a productivity consultant's database
|   of 1,500 projects at the 1.2-million-line level was only *77* lines per
|   man-month.  Reuse saved 190 man-months (9%) of effort and reduced
|   the schedule by two calendar months (4%); 

Although I am truly happy these managers were able to find ways to claim
productivity gains (and probably get promotions for it), we should be
skeptical of these numbers for many reasons, two of which follow:

  1) Cobol could probably do better by the lines-of-code measurement. 
     In other words, just because more lines of code were developed
     doesn't mean that productivity was enhanced.

  2) Different projects have different dynamics.  It is a fallacy to
     compare man-months of projects that simply had the same number of
     lines of code.  First of all, 1) still applies.  Secondly, the
     difficulty of the domain is not accounted for.  Thirdly, the skills
     of the programmers is not accounted for; ad infinitum.  You can't
     compare apples to oranges! 

|   Magnavox expects to increase the reuse rate to 25% on the next
|   project, and believes that a reuse rate of 50% is possible.

General Electric claimed the same thing in the 60's.  It never
materialized.

The bottom line is that there is a distinct possibility that these
results are contrived by self-serving interests.  I think you're right
in stating that reuse is making headway, but it is extremely small, and
is certainly much smaller than the results you cite indicate.  

I characterize it as a monkey climbing a palm tree to reach the moon. 
He sees he is making progress and begins to make wild claims. 
Unfortunately, he soon reaches a dead end.  I claim the dead end in
software reuse is cognitive overload.  It will take thousands or
millions of components to make a truly useable software reuse
environment.  There is no way that a human can keep track of what is
available at that kind of scale.

The cognitive overload also comes in understanding what a component does
for you.  Do you realize how hard it is to get novice programmers to
understand what a stack does?  And this is one of the simplest
constructs in computer science.  Just think of training someone to
understand 1000 ADTs (that are much more difficult to understand than
stacks) to the point that he can (re)use them. 

I also must emphasize that the problems of reuse ARE LANGUAGE
INDEPENDENT.  Even with all of the religious followers of ADA out there,
you will never in a million years convince me that ADA is anything more
than trivially different from Pascal, C, Algol, etc.

|   [...] there is now a language whose definition is an ANSI and
|   international standard [...]

Emerson said that "a foolish consistency is the hobglobin of little
minds...".  In this spirit, I would claim that we do not know enough
about human factors in programming (note that I did not say programming 
*languages*) to point to standards as a means to claim that your favorite
language is the best. 


-- Scott
   scotth@boulder.colorado.edu
Technical Details
Message-ID: <11963@boulder.Colorado.EDU>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!cs.utexas.edu!tut.cis.ohio-state.edu!mailrus!ames!ncar!boulder!scotth
References: <11928@boulder.Colorado.EDU> <6536@hubcap.clemson.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!cs.utexas.edu!tut.cis.ohio-state.edu!mailrus!ames!ncar!boulder!scotth
From: scotth@boulder.Colorado.EDU (Scott Henninger)
Newsgroups: comp.sw.components
Subject: Re: Reasons for low ADT reuse
Message-ID: <11963@boulder.Colorado.EDU>
Date: 22 Sep 89 15:52:31 GMT
References: <11928@boulder.Colorado.EDU> <6536@hubcap.clemson.edu>
Sender: news@boulder.Colorado.EDU
Reply-To: scotth@boulder.Colorado.EDU (Scott Henninger)
Organization: University of Colorado, Boulder
Lines: 77