🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sw.components
Article #216

Re: Schedule and budget are secondary

#216
From: Dick Dunn
Date: Thu, 12 Oct 1989 03:54
82 lines
4829 bytes
I was gritching about quality being given short shrift, and had pointed out
that software can be constructed which meets all objective requirements,
yet is of poor quality.

>     This depends upon whether the product is implemented by hackers
>     or by professionals...

Hey, groovy...we'll just get our customers to add a clause to the contract
to require that "All software shall be implemented by professionals.
Hackers shall not be employed..." and nobody will have to worry about poor
quality software any more, right?

Of course good people will produce better software than bad people.  That
is true, but irrelevant to the point I was trying to make--which is that
the relative emphasis on quality will influence the result.  A good
programmer, under extreme time/budget pressure, will likely be able to
produce better-quality software than a dullard working at leisure who
codes with a chainsaw .  But the professional won't do as good a job as if
there were more external interest in quality and less extreme time/money
pressure.

>...A professional will meet cost and schedule
>     constraints by using CASE tools, advanced programming languages,
>     and so on...

No.  A professional will use the tools suitable for the job (perhaps
creating them if appropriate).  A professional will focus on the job of
constructing good software, and will leave the buzzword-oriented
programming to the acolytes of strongly-hyped languages.  (apologies to
Andrew Koenig)

And what's this about advanced programming languages?  Wolfe has, in other
postings, been an outspoken advocate of Ada, which is certainly *not*
advanced.  In fact, the difficulty of making Ada catch up to current
technology has been a hot topic over in comp.lang.ada.

>     Dick's particular environment is one in which operating system 
>     software is being developed in C, a double whammy as far as a 
>     well-established tradition of hacking is concerned...

There is operating system software developed in C at Interactive Systems.
That's not what I'm doing, although that is irrelevant.  C is well suited
to the task.  (Most of the OS work is, for example, better done in C than
in C++.  But you have to understand what "most of the work" is about, and
that's another topic.)

The "well-established tradition of hacking" is an empty insult, a manifes-
tation of Wolfe's inability to mount any substantive objection.  C works. 
UNIX works.  They've lasted well, and survived incredible amounts of modifi-
cation and adaptation.  All the cheap insults you can dream up won't change
that.  We'll trade taunts with you for a while; then we'll let you go back
to *talking* about software while we *produce* software.

Don't get me wrong--C is *not* The One True Way.  (That's religion, which
is anathema:-)  C is *a* way to get things done, and done both well and
expeditiously.  There are other languages and tools--some of them more
appropriate to their problem domains than C could be.

>	In such an
>     environment, great efforts must be taken on the part of management
>     to ensure the existence of a proper software engineering orientation.

Not at all.  You just get good people who know what they're doing, and make
room for them to do their jobs.  Good management does not direct; it
assists.

The people I work with are not the people who produce the nasty code I was
complaining about in my earlier posting.  In fact, some of the nastiest
code was produced as a result of blind, dogmatic application of so-called
software engineering principles.  It's gotten them into binds.  We have to
help them out, help clean up the messes, and get the software headed back
in a reasonable direction.  We do it in C (since that's what all of them
are using), without dogma and buzzwords.  Sometimes we have to tell them
that getting back to quality software is going to cost a little more and
take a little longer than the "shortest path" to meeting the immediate
requirements.  When we can make a good case for it, they're likely to go
for it--because they've seen how we work and they appreciate the long-
term benefits.  We budget and plan for quality work; we don't "lowball"
contracts.
-- 
Dick Dunn     rcd@ico.isc.com    uucp: {ncar,nbires}!ico!rcd     (303)449-2870
   ...No DOS.  UNIX.
Technical Details
Message-ID: <16193@vail.ICO.ISC.COM>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!ico!vail!rcd
References: <16187@vail.ICO.ISC.COM> <6742@hubcap.clemson.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!ico!vail!rcd
From: rcd@ico.ISC.COM (Dick Dunn)
Newsgroups: comp.sw.components,comp.software-eng
Subject: Re: Schedule and budget are secondary
Summary: We need answers...not platitudes, nor insults
Message-ID: <16193@vail.ICO.ISC.COM>
Date: 12 Oct 89 03:54:08 GMT
References: <16187@vail.ICO.ISC.COM> <6742@hubcap.clemson.edu>
Organization: Interactive Systems Corp, Boulder, CO
Lines: 82