By Vaughn Treude
President, Nakota Software, Inc.
In the last few years, the software industry has gotten a bad reputation for producing a buggy, unreliable product.  Many software projects are late and over budget.  A few spectacular software-related failures have caught the attention of the media, such as the crash of an Ariane rocket, and the problems with the Denver Airport's baggage handling system.  Currently there are many popular methodologies for improving the quality and reliability of software.  These include Design Patterns, Object Modeling, Extreme Programming, and others.  They all have their good features, but there is no "silver bullet" for quality.

In my opinion, the biggest problem has been the reluctance of many companies to provide sufficient resources for debugging and testing of software.  For example:  years ago I was part of a large team working on a huge project that was plagued with bugs.  Project managers mandated the use of "code coverage" testing similar to that used in avionics and other safety-critical systems.  This sounded like a good idea, but due to financial and time pressures, the project's leadership was unwilling to extend the project deadline sufficiently to allow the testing to be properly completed.  (This may have been one of the reasons the project was eventually  scrapped.)   The moral of the story?  You get what you pay for.   Or worse yet, if you design an elaborate, feature-rich system but scrimp on quality, you get much less than what you pay for.

I'm personally not committed to any particular software ideology.  Open source is an interesting trend that has produced a lot of good software, much of it much better than conventional wisdom would expect.   On the other hand, I don't claim that open source is inherently better than proprietary systems, and I don't expect the latter to go away, either.   Good programming methods are independent of these philosophical considerations.  I can say what's worked for me personally, and I'd like to offer a few commonsense suggestions.

Glen Canyon Dam

Back to Article List

Back to Home

This page Copyright 2002, Nakota Software, Inc.