Foreword to “The Art of Creative Destruction”
by Rajaram L.N.
Ph.D. (Software Engineering)
Director, Advanced Information Services
Director, TheWatts Humphrey Software Quality Institute
Every other industry would consider it an extremely unethical practice to pass on to the customer, products of the levels of quality found in software products. Not surprisingly, Mark Minasi has given his book the title, “The Software Conspiracy” covering the issues involved in delivering buggy software products. Many industries of strategic importance to a country’s economy such as Health, Food, Transportation, Telecom, Construction, etc. have National Regulatory Authorities to formulate and implement policies governing the quality of products released to guarantee safe and secure use by the uninformed users at large.
However, most customers including corporate ones seem to have astounding and abiding faith in the quality, safety and security of software products they use. This, in spite of a disclaimer in almost every software product’s warranty clause, that the developers are not responsible for any damage that may be caused due to the malfunction of the product. The world wide statistics show a high incidence of up to 10 defects per thousand lines of software delivered to the user. This translates to almost 100 to 1000 defects present in a moderate to large software of 10,000 to a million lines of software code.
The December 6, 1999 issue of Business Week dealt fully with this crisis in the US Software industry and not much has changed since then. The Software Quality Guru Watts Humphrey of the Software Engineering Institute, Carnegie Mellon University cautioned the US software industry with a rhetorical question Will bugs eat up the US lead in Software and the leading article titled Glitches cost billions of dollars and jeopardize human lives reported several horrifying stories of disastrous consequences of bad quality software being implicated in plane crashes, road and rail accidents, medical systems malfunction. Watts Humphrey went on to say that India and Brazil may catch up with US in software in the same way that Japan overtook US in manufacturing in the early 1950s after lapping up ignored lessons from Deming and Juran.
Many books on Software Engineering popular at under-graduate levels include the topic of Software Quality as an after thought. Even experienced software developers concentrate on somehow getting the software to work. Unfortunately, according to Watts Humphrey, unlike other industrial products, defective and poor quality software works when first demonstrated. Only with extensive usage do defects surface like time bombs and booby traps, causing enormous damage and denial service to the user. Hence it becomes mandatory for the software producers that they make every effort to ensure they have covered every scenario in which their product is likely to be used, before actually releasing the product for use. The Art of Creative Destruction as Puranik likes to describe this book on Software Testing is all about building confidence that the software product will ultimately satisfy all the needs of the user and work without failure.
The book is a comprehensive compendium of all aspects and techniques of software testing meant to educate both the intending buyers of software solutions as well as the software developers. It does not dwell in great depth about the theoretical aspects of Testing but acts as a quick checklist for the end users as well as for the testers. The illustrative format and bulleted points bring out this aspect of the book as a quick reference. The user agency, particularly the banking industry in which Puranik has extensive experience can take advantage of the book to realize the importance of Software Quality and the enormous efforts that are required to be taken while testing any software before risking its use for its customers.
The section on Automation exposes the reader to several available tools. The most valuable section of the book is the illustrative example of Functional Testing of a Core Banking product. The stamp of authority of a banker and the passion he has for software quality comes through here.
I hope this book is a precursor to several more books on Software Quality both from Puranik as well as other software practitioners that cover several other topics such as Cost of Quality, Software Reviews and Inspections, Statistical Estimation and Management of Defects, Defect Prevention, etc. A very high quality standard of less than one defect per million lines of software has to be set and best practices to achieve such high standards need to be publicized.
If the Indian Software industry is to leap frog into a world leader position in software, then it is Software Quality that needs to be the driver and more practitioners need to share their experiences and debate over strategies to make this happen.