Design for Trustworthy Software
by Bijay K. Jayaswal and Peter C. Patton
Hardcover: 840 pages
Publisher: Prentice Hall PTR; 1st edition (August 31, 2006)
For many years I have studied the major approaches for achieving quality. Not just software quality, but quality of building anything. Something that I have often wished for is an approach that integrates all of these great concepts in one place - not necessarily a unified process, but at least a big toolkit. I think I have seen my wish realized in this book.
The main premise of this book is that software development and manufacturing actually have more in common than many people have believed in the past, and that like manufacturing, the place to improve software quality is "as far upstream as possible." This book has a framework of tools, techniques and methodologies for developing robust software that is based on the work of the quality gurus and companies worldwide. The authors call this blend, Design For Trustworthy Systems (DFTS).
The book is divided into five sections:
Section 1 is a great background discussion that compares and contrasts the most popular life cycle methodologies. This section has a good discussion of software metrics and how to measure and compute the financial impact of software quality.
Section 2 presents the tools and techniques for trustworthy software and is the heart of the book. Interested in orthogonal arrays and Taguchi methods? You’ll find an entire chapter on the topic.
Section 3 shows how to apply the tools and techniques early in the development process.
Section 4 discusses how to implement these approaches in your organization.
Section 5 has six major case studies of organizations that have successfully implemented these techniques.
If you are looking for a book to dig deeper on software quality - more than just testing - this is a great book for that purpose. Each chapter has exercises, review questions, discussion questions and projects.
Although this book has many great techniques and approaches for developing and delivering trustworthy software, the authors make clear that it takes more than just good approaches to deliver quality software. They address why software quality is still lacking, even though we have a great deal of knowledge and experience of what it takes to achieve quality.
To quote from the book, "A breakthrough improvement in quality never happens by itself. Neither is it the result of incremental learning from your past experiences alone or because everyone works harder and faster...It is invariably the result of fundamental and irreversible changes directed by the CEO and the top management team. These changes are planned and transformative as opposed to haphazard and incremental. At the end of all the talk, it is all about leadership."
I highly recommend this book to software quality leaders and practitioners who want to go deeper in their understanding of what it takes to build and deliver trustworthy software, and how to transfer those practices to their organization to gain competitive advantage by serving their customers better.
Readability - 5
Coverage of topics - 5
Depth of coverage - 5
Credibility - 5
Accuracy - 5
Relevance to software quality - 5
Overall - 5
Reviewed by Randy Rice