Trustworthy Software


Chapter 3 reviewed a range of software metrics and their history. Here we want to present and discuss statistical tools for measuring the software development process to ensure quality or, in the sense that we use the term in this book, its trustworthiness. Enterprise software is trustworthy if you can trust it with your business's data, which means that you can trust it with your business. In the early days of the computer revolution, after hardware manufacturers successfully offered their customers FORTRAN and COBOL compilers and the first operating systems, attention turned to the possibility of providing application software for the computer user as well. This wasn't meant as an additional business opportunity, but a means of encouraging the further proliferation of computersespecially into new application areas. It also was meant to encourage existing and potential users to purchase more computer hardware. Offering compilers for high-level programming languages had been a tremendous boon for hardware manufacturers and users alike, but still the development of applications was a long, laborious process, even using more-powerful programming languages. Offering application packages for accounting, order entry, mail-order merchandising, and the then-vastly-undercomputerized retail business arena seemed like the logical next step in the computer revolution. Unfortunately, the legal departments of the large hardware vendors that offered the first such application packages feared the contingent liability issues that could arise if a hardware vendor's application package failed and put one of its users out of business. Hence, early free vendor prepared or sponsored application packages that came out had disclaimers stamped in red ink across the title page of the documentation. They read something like this:

DISCLAIMER: This software is not guaranteed or warranted in any way. It is not guaranteed to load; if it loads, it is not guaranteed to compile; if it complies successfully, it is not guaranteed to run properly; and even if it does, it may not be reliable. If your business suffers financial loss or ruin as a result of using this software, the XYZ Corporation is not responsible and cannot be held liable for your loss.

Naturally, such a disclaimer did not encourage confidence. A few pioneering (and trusting) computer users in the new retail applications arena actually did use hardware manufacturer-supplied application software, and without problems. It was not long, however, before the legal department in hardware vendor firms overruled the marketing department and such application software offerings disappearedat least from manufacturers of computer hardware. Today the very companies that pioneered such offerings have strict policies against being too closely involved with business applications development. The closest that the more venturesome will get to application software is providing middleware to support the rapid development of new applications. The service bureau industry was pursuing new business application markets at this same time. It also experienced some nervous moments over contingent liability but wrote contracts for computer services with similar disclaimers and never suffered a successful legal challenge. This edginess on the part of computer manufacturers and service bureaus, together with a general shortage of application software developers, encouraged the emergence of the third-party software industry. Today it develops, sells, and supports most enterprise business software.

We relate this bit of history as a way of pointing out what trustworthy software is not. Today's computer user expects enterprise software to be trustworthy. Although they understand that it may not be perfect, they expect that the vendor will make a best effort to ensure quality and guarantee correct operationat least to the product's specification and/or sales contract. The hardware manufacturer's free-software disclaimer would be a major affront today (although the license agreements that accompany desktop software these days can give you pause). But then enterprise application software is not free anymore, either. One of the authors was responsible for developing a new Y2K-compliant administrative system for a $2 billion enterprise in the early '90s. The cost of the hardware for the enterprise server was $1.2 million, the database management system for 650 concurrent users was $6 million, and the first three application packages cost $900,000. The total investment over five years was more than $18 million. The corporation's executive vice president exacted warranties from the software vendors and held them responsible for meeting contracted performance.

The increasing dependence of modern business on computersultimately, on enterprise applications softwaredemands ever-higher standards of qualitymeasurable and predictable quality. Quality software is trustworthy software, and trustworthy software is the sine qua non of trustworthy computing.




Design for Trustworthy Software. Tools, Techniques, and Methodology of Developing Robust Software
Design for Trustworthy Software: Tools, Techniques, and Methodology of Developing Robust Software
ISBN: 0131872508
EAN: 2147483647
Year: 2006
Pages: 394

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net