Stephen A. Lawrence wrote:
> The number of bugs in a software package decreases at first
> and then increases, inexorably, to the point where the software becomes
> unusable.
Can you name an example where this has happened?
It has happened to every software package I ever wrote which remained in use.
Brooks (p. 121) cites B. Campell, MIT Lab. for Nuclear Science, and
elsewhere as I recall he talked about AT&T central office programming.
Lots of software has gone "obsolete" as a result of failure to keep up
with hardware changes or as a result of being too hard to modify for
newly surfaced requirements, but that's *NOT* what you're claiming here.
Correct. Brooks discusses that elsewhere. It is a related but
somewhat different topic. As you say, most software has to be
maintained and changed in response to demands from the customers and
changes in the real world, such as new tax codes for an accounting
package, and you have to respond to customer complaints about bugs.
When you do that, problems with the original design gradually
surface, and eventually degrade performance. When you try to fix
bugs, you end up causing more bugs than you started with. You cannot
patch a profound systematic error in the design of a program or
machine. You have to start over from scratch.
Naturally if you perform no maintenance and fix no bugs, and you
leave the program exactly as it is for 5 or 10 years, it will work as
well as it ever did. The driver and software for my Hewlett-Packard
scanner hasn't been changed or updated in years, but it still
functions. (But probably not with Vista!) If you can live with the
bugs that's fine. This scanner, for example, has a bad habit of
losing track of where the scanner head is and freezing up when I
perform certain operations such as scanning large sheets too quickly.
I have learned not to do that.
The number of *REPORTED* bugs always increases with time, to the point
where the bug database may become unusable. . . .
That's true too. It is a function of the customers becoming more
skilled with the software, and using more features. Brooks discusses
this as well.
Brooks, by the way, refers to the book Frederick P. Brooks, "The
Mythical Man Month," (Addison-Wesley, 1975). Highly recommended.
Brooks is the "father of the IBM System/360." I concur with his
observations. It does not "sound like BS" to me.
- Jed