The software industry stands on the brink of an era of dramatic change. We expect the industry to continue the restructuring process already begun, emerging as a much smaller number of horizontally structured firms mostly doing business with each other. As software becomes highly "componentized," the industry will begin to resemble the automotive industry, with many small firms making parts, but only a few large ones assembling them into finished products. Software automation in the form of application generation technology will become the norm as system analysts and other domain specialists become the new application programmers, writing in specification languages. Meanwhile, the more talented of today's application programmers will become system programmers, writing the meta-compilers that will transform specification language codes into Java and C application programs.
It is still true that new technologies do not replace old technologies, at least not at first; in their infancy, they merely supplement them. Chapters 16, 17, 18 and 19 of the book Design for Trustworthy Software address the transition period during which robust, trustworthy software is still created by current technology and processes as the new technology and its streamlined processes emerge.
This short cut is a reproduction of Chapter 17 of Design for Trustworthy Software. It illustrates how Taguchi's quality loss function provides a measure of the overall loss to society when a product fails to meet its target functionality and reliability. It describes howsignal-to-noise ratio measures the positive quality contribution from controllable or design factors versus the negative quality contribution from uncontrollable or noise factors. It presents Taguchi Methods involving seven steps, beginning with a clear statement of thedesign problem and ending with a confirming statisticalexperiment showing how parameter choices will enhance robustness. An example from electrical circuit design is presented, because it is much more similar to software design than mechanical design, where Taguchi Methods have found their largest applications. A more detailed example from software design or product improvement builds on the previous example. Lastly, this short cut describes Taguchi's development and application of an earlier technique involving Latin squares or orthogonal matrices to allow the evaluation on multiple parameters simultaneously. It illustrates how his use of orthogonal matrices permits a multifactorial analysis that is far more efficient than a conventional "bottleneck" analysis, and how it allows the study of factor interactions.
This short cut can be used either as an important methodology of trustworthy software design process or as a standalone presentation of Taguchi Methods in software development context.
This short cut should be of interest to software and quality professionals. In particular, it should be of value to the CMMI, Six Sigma, and DFSS communities worldwide, especially for those who have acquired or plan to acquire Green Belt, Black Belt, Master Black Belt, or similar competencies in various quality management disciplines. It should also be useful resource for students and academics of various programs at senior undergraduate and graduate levels, and for those preparing for American Society for Quality's (ASQ) Certified Software Quality Engineer (CSQE) examination.
What This Short Cut Covers 3
Taguchi Methods for Robust Software Design 5
An Example from Engineering Design 9
An Example from Software Design and Development 12
Orthogonal Matrices for Taguchi Parameter Design Experiments 16
Applications to the Design of Trustworthy Software 19
Key Points 19
Additional Resources 20
What's in the Book Design for Trustworthy Software 23
About the Authors 28
The Design for Trustworthy Software Digital Short Cut Compilation 29