This posting on Peter de Jager's discussion forum raises two questions in my mind: (1) how will IT departments keep things running during their y2k repairs if 90% of programming goes for maintenance? (2) How well designed was the legacy code in most companies? I guess that AT&T will be clean. What about everyone else?
* * * * * * * *
Date: Tue, 25 Nov 1997 21:54:13 -0500 From: Grayson Lynn Reply-To: Grayson@POBoxes.com To: firstname.lastname@example.org Subject: Re: Costs per line of code
David Eddy wrote:
> ...there is almost zero knowledge (and less data) about > the software maintenance function...
Yet any shirt-sleeve MIS director will confess, when stretched upon the rack, that 90% of total programming energy goes to maintenance. A Web search did give 310 hits on "software.maintainability", some with pretty extensive bibliographies, but somehow this work never seems to trickle down to the trenches where the knowledge is so sorely needed.
The maintenance stage is set in stone when the program is first written.
Everybody has heard the horror stories of cars so badly engineered that a minor tuneup costs $450 because the mechanic has to tear the engine down to get at the spark plugs, and legacy programmers all have their favorite stories of spaghetti programs that were cheaper to replace than repair.
PC programs are notorious for quitting cold without a clue as to what went wrong, or even what module failed... on the theory, one must suppose, that nobody can figure out how to fix the problem anyway, so why bother finding out what it is?
As it happens, I've just spent all day crawling through broken glass to reformat two report lines in a 5000-line Cobol program that could have been up and running in half an hour had the basic architecture been sound. Undebuggable goes hand-in-hand with unmaintainable; last week in the same shop, same author, I had to trace a production program for the first time in 8 years to find that the programmer had coded "INVALID KEY STOP RUN.". Three times!
So don't get me started.