www.it-ebooks.info
P1: OSO
fm
JWBS034-El-Haik
July 20, 2010
20:52
Printer Name: Yet to Come
SOFTWARE DESIGN
FOR SIX SIGMA
A Roadmap for Excellence
BASEM EL-HAIK
ADNAN SHAOUT
A JOHN WILEY & SONS, INC., PUBLICATION
www.it-ebooks.info
P1: OSO
fm
JWBS034-El-Haik
July 20, 2010
20:52
Printer Name: Yet to Come
SOFTWARE DESIGN
FOR SIX SIGMA
www.it-ebooks.info
P1: OSO
fm
JWBS034-El-Haik
July 20, 2010
20:52
Printer Name: Yet to Come
www.it-ebooks.info
P1: OSO
fm
JWBS034-El-Haik
July 20, 2010
20:52
Printer Name: Yet to Come
SOFTWARE DESIGN
FOR SIX SIGMA
A Roadmap for Excellence
BASEM EL-HAIK
ADNAN SHAOUT
A JOHN WILEY & SONS, INC., PUBLICATION
www.it-ebooks.info
P1: OSO
fm
JWBS034-El-Haik
Copyright
July 20, 2010
C
20:52
Printer Name: Yet to Come
2010 by John Wiley & Sons, Inc. All rights reserved.
Published by John Wiley & Sons, Inc., Hoboken, New Jersey.
Published simultaneously in Canada.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or
by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as
permitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior
written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to
the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400,
fax (978) 750-4470, or on the web at www.copyright.com. Requests to the Publisher for permission
should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken,
NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permission.
Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best efforts in
preparing this book, they make no representations or warranties with respect to the accuracy or
completeness of the contents of this book and specifically disclaim any implied warranties of
merchantability or fitness for a particular purpose. No warranty may be created or extended by sales
representatives or written sales materials. The advice and strategies contained herein may not be suitable
for your situation. You should consult with a professional where appropriate. Neither the publisher nor
author shall be liable for any loss of profit or any other commercial damages, including but not limited to
special, incidental, consequential, or other damages.
For general information on our other products and services or for technical support, please contact our
Customer Care Department within the United States at (800) 762-2974, outside the United States at
(317) 572-3993 or fax (317) 572-4002.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may
not be available in electronic format. For more information about Wiley products, visit our web site at
www.wiley.com
Library of Congress Cataloging-in-Publication Data
El-Haik, Basem.
Software design for six sigma : a roadmap for excellence / Basem S. El-Haik, Adnan Shaout.
p. cm.
ISBN 978-0-470-40546-8 (hardback)
1. Computer software–Quality control. 2. Six sigma (Quality control standard) I. Shaout,
Adnan, 1960– II. Title.
QA76.76.Q35E45 2010
005.1–dc22
2010025493
Printed in Singapore
10 9 8 7 6 5 4 3 2 1
www.it-ebooks.info
P1: OSO
fm
JWBS034-El-Haik
July 20, 2010
20:52
Printer Name: Yet to Come
To our parents, families, and friends for their continuous support.
www.it-ebooks.info
P1: OSO
fm
JWBS034-El-Haik
July 20, 2010
20:52
Printer Name: Yet to Come
www.it-ebooks.info
P1: OSO
fm
JWBS034-El-Haik
July 20, 2010
20:52
Printer Name: Yet to Come
CONTENTS
PREFACE
xv
ACKNOWLEDGMENTS
xix
1 SOFTWARE QUALITY CONCEPTS
1
1.1 What is Quality / 1
1.2 Quality, Customer Needs, and Functions / 3
1.3 Quality, Time to Market, and Productivity / 5
1.4 Quality Standards / 6
1.5 Software Quality Assurance and Strategies / 6
1.6 Software Quality Cost / 9
1.7 Software Quality Measurement / 13
1.8 Summary / 19
References / 20
2 TRADITIONAL SOFTWARE DEVELOPMENT PROCESSES
21
2.1 Introduction / 21
2.2 Why Software Developmental Processes? / 22
2.3 Software Development Processes / 23
2.4 Software Development Processes Classification / 46
2.5 Summary / 53
References / 53
vii
www.it-ebooks.info
P1: OSO
fm
JWBS034-El-Haik
viii
July 20, 2010
20:52
Printer Name: Yet to Come
CONTENTS
3 DESIGN PROCESS OF REAL-TIME OPERATING
SYSTEMS (RTOS)
56
3.1 Introduction / 56
3.2 RTOS Hard versus Soft Real-Time Systems / 57
3.3 RTOS Design Features / 58
3.4 Task Scheduling: Scheduling Algorithms / 66
3.5 Intertask Communication and Resource Sharing / 72
3.6 Timers / 74
3.7 Conclusion / 74
References / 75
4 SOFTWARE DESIGN METHODS AND REPRESENTATIONS
77
4.1 Introduction / 77
4.2 History of Software Design Methods / 77
4.3 Software Design Methods / 79
4.4 Analysis / 85
4.5 System-Level Design Approaches / 88
4.6 Platform-Based Design / 96
4.7 Component-Based Design / 98
4.8 Conclusions / 99
References / 100
5 DESIGN FOR SIX SIGMA (DFSS) SOFTWARE
MEASUREMENT AND METRICS
103
5.1 Introduction / 103
5.2 Software Measurement Process / 105
5.3 Software Product Metrics / 106
5.4 GQM (Goal–Question–Metric) Approach / 113
5.5 Software Quality Metrics / 115
5.6 Software Development Process Metrics / 116
5.7 Software Resource Metrics / 117
5.8 Software Metric Plan / 119
References / 120
6 STATISTICAL TECHNIQUES IN SOFTWARE SIX SIGMA
AND DESIGN FOR SIX SIGMA (DFSS)
6.1 Introduction / 122
6.2 Common Probability Distributions / 124
6.3 Software Statistical Methods / 124
www.it-ebooks.info
122
P1: OSO
fm
JWBS034-El-Haik
July 20, 2010
20:52
Printer Name: Yet to Come
CONTENTS
ix
6.4 Inferential Statistics / 134
6.5 A Note on Normal Distribution and Normality Assumption / 142
6.6 Summary / 144
References / 145
7 SIX SIGMA FUNDAMENTALS
146
7.1
Introduction / 146
7.2
Why Six Sigma? / 148
7.3
What is Six Sigma? / 149
7.4
Introduction to Six Sigma Process Modeling / 152
7.5
Introduction to Business Process Management / 154
7.6
Six Sigma Measurement Systems Analysis / 156
7.7
Process Capability and Six Sigma Process Performance / 157
7.8
Overview of Six Sigma Improvement (DMAIC) / 161
7.9
DMAIC Six Sigma Tools / 163
7.10 Software Six Sigma / 165
7.11 Six Sigma Goes Upstream—Design For Six Sigma / 168
7.12 Summary / 169
References / 170
8 INTRODUCTION TO SOFTWARE DESIGN FOR
SIX SIGMA (DFSS)
171
8.1
Introduction / 171
8.2
Why Software Design for Six Sigma? / 173
8.3
What is Software Design For Six Sigma? / 175
8.4
Software DFSS: The ICOV Process / 177
8.5
Software DFSS: The ICOV Process In Software Development / 179
8.6
DFSS versus DMAIC / 180
8.7
A Review of Sample DFSS Tools by ICOV Phase / 182
8.8
Other DFSS Approaches / 192
8.9
Summary / 193
8.A.1 Appendix 8.A (Shenvi, 2008) / 194
8.A.2 DIDOVM Phase: Define / 194
8.A.3 DIDOVM Phase: Identify / 196
8.A.4 DIDOVM Phase: Design / 199
8.A.5 DIDOVM Phase: Optimize / 203
8.A.6 DIDOVM Phase: Verify / 204
8.A.7 DIDOVM Phase: Monitor / 204
References / 205
www.it-ebooks.info
P1: OSO
fm
JWBS034-El-Haik
x
July 20, 2010
20:52
Printer Name: Yet to Come
CONTENTS
9 SOFTWARE DESIGN FOR SIX SIGMA (DFSS):
A PRACTICAL GUIDE FOR SUCCESSFUL DEPLOYMENT
207
9.1
Introduction / 207
9.2
Software Six Sigma Deployment / 208
9.3
Software DFSS Deployment Phases / 208
9.4
Black Belt and DFSS Team: Cultural Change / 234
References / 238
10
DESIGN FOR SIX SIGMA (DFSS) TEAM AND TEAM
SOFTWARE PROCESS (TSP)
239
10.1
10.2
10.3
10.4
10.5
Introduction / 239
The Personal Software Process (PSP) / 240
The Team Software Process (TSP) / 243
PSP and TSP Deployment Example / 245
The Relation of Six Sigma to CMMI/PSP/TSP
for Software / 269
References / 294
11
SOFTWARE DESIGN FOR SIX SIGMA (DFSS) PROJECT
ROAD MAP
11.1
11.2
11.3
11.4
12
295
Introduction / 295
Software Design For Six Sigma Team / 297
Software Design For Six Sigma Road Map / 300
Summary / 310
SOFTWARE QUALITY FUNCTION DEPLOYMENT
12.1 Introduction / 311
12.2 History of QFD / 313
12.3 QFD Overview / 314
12.4 QFD Methodology / 314
12.5 HOQ Evaluation / 318
12.6 HOQ 1: The Customer’s House / 318
12.7 Kano Model / 319
12.8 QFD HOQ 2: Translation House / 321
12.9 QFD HOQ3—Design House / 324
12.10 QFD HOQ4—Process House / 324
12.11 Summary / 325
References / 325
www.it-ebooks.info
311
P1: OSO
fm
JWBS034-El-Haik
July 20, 2010
20:52
Printer Name: Yet to Come
CONTENTS
13
AXIOMATIC DESIGN IN SOFTWARE DESIGN FOR
SIX SIGMA (DFSS)
xi
327
13.1
13.2
Introduction / 327
Axiomatic Design in Product DFSS:
An Introduction / 328
13.3 Axiom 1 in Software DFSS / 338
13.4 Coupling Measures / 349
13.5 Axiom 2 in Software DFSS / 352
References / 354
Bibliography / 355
14
SOFTWARE DESIGN FOR X
356
14.1 Introduction / 356
14.2 Software Reliability and Design For Reliability / 357
14.3 Software Availability / 379
14.4 Software Design for Testability / 380
14.5 Design for Reusability / 381
14.6 Design for Maintainability / 382
References / 386
Appendix References / 387
Bibliography / 387
15
SOFTWARE DESIGN FOR SIX SIGMA (DFSS) RISK
MANAGEMENT PROCESS
388
15.1
15.2
Introduction / 388
Planning for Risk Management Activities in Design and
Development / 393
15.3 Software Risk Assessment Techniques / 394
15.4 Risk Evaluation / 400
15.5 Risk Control / 403
15.6 Postrelease Control / 404
15.7 Software Risk Management Roles and
Responsibilities / 404
15.8 Conclusion / 404
References / 407
16
SOFTWARE FAILURE MODE AND EFFECT
ANALYSIS (SFMEA)
16.1
16.2
Introduction / 409
FMEA: A Historical Sketch / 412
www.it-ebooks.info
409
P1: OSO
fm
JWBS034-El-Haik
xii
July 20, 2010
20:52
Printer Name: Yet to Come
CONTENTS
16.3 SFMEA Fundamentals / 420
16.4 Software Quality Control and Quality Assurance / 431
16.5 Summary / 434
References / 434
17
SOFTWARE OPTIMIZATION TECHNIQUES
436
17.1 Introduction / 436
17.2 Optimization Metrics / 437
17.3 Comparing Software Optimization Metrics / 442
17.4 Performance Analysis / 453
17.5 Synchronization and Deadlock Handling / 455
17.6 Performance Optimization / 457
17.7 Compiler Optimization Tools / 458
17.8 Conclusion / 464
References / 464
18
ROBUST DESIGN FOR SOFTWARE DEVELOPMENT
466
18.1
18.2
18.3
18.4
18.5
Introduction / 466
Robust Design Overview / 468
Robust Design Concept #1: Output Classification / 471
Robust Design Concept #2: Quality Loss Function / 472
Robust Design Concept #3: Signal, Noise, and
Control Factors / 475
18.6
Robustness Concept #4: Signal–to-Noise Ratios / 479
18.7
Robustness Concept #5: Orthogonal Arrays / 480
18.8
Robustness Concept #6: Parameter Design Analysis / 483
18.9
Robust Design Case Study No. 1: Streamlining of Debugging
Software Using an Orthogonal Array / 485
18.10 Summary / 491
18.A.1 ANOVA Steps For Two Factors Completely Randomized
Experiment / 492
References / 496
19
SOFTWARE DESIGN VERIFICATION AND VALIDATION
19.1
19.2
19.3
19.4
Introduction / 498
The State of V&V Tools for Software DFSS Process / 500
Integrating Design Process with Validation/Verification
Process / 502
Validation and Verification Methods / 504
www.it-ebooks.info
498
P1: OSO
fm
JWBS034-El-Haik
July 20, 2010
20:52
Printer Name: Yet to Come
CONTENTS
xiii
19.5
19.6
Basic Functional Verification Strategy / 515
Comparison of Commercially Available Verification and
Validation Tools / 517
19.7
Software Testing Strategies / 520
19.8
Software Design Standards / 523
19.9
Conclusion / 525
References / 525
INDEX
527
www.it-ebooks.info
P1: OSO
fm
JWBS034-El-Haik
July 20, 2010
20:52
Printer Name: Yet to Come
www.it-ebooks.info
P1: OSO
fm
JWBS034-El-Haik
July 20, 2010
20:52
Printer Name: Yet to Come
PREFACE
Information technology (IT) quality engineering and quality improvement methods
are constantly getting more attention from world corporate leaders, all levels of
management, design engineers, and academia. This trend can be seen easily by the
widespread of “Six Sigma” initiatives in many Fortune IT 500 companies. For a
Six Sigma initiative in IT, software design activity is the most important to achieve
significant quality and reliability results. Because design activities carry a big portion
of software development impact, quality improvements done in design stages often
will bring the most impressive results. Patching up quality problems in post-design
phases usually is inefficient and very costly.
During the last 20 years, there have been significant enhancements in software
development methodologies for quality improvement in software design; those methods include the Waterfall Model, Personal Software Process (PSP), Team Software
Process (TSP), Capability Maturity Model (CMM), Software Process Improvement
Capability Determination (SPICE), Linear Sequential Model, Prototyping Model,
RAD Model, and Incremental Model, among others.1 The historical evolution of
these methods and processes, although indicating improvement trends, indicates gaps
that each method tried to pick up where its predecessors left off while filling the gaps
missed in their application.
Six Sigma is a methodology to manage process variations that use data and
statistical analysis to measure and improve a company’s operational performance. It
works by identifying and eliminating defects in manufacturing and service-related
processes. The maximum permissible defects are 3.4 per one million opportunities.2
1 See
2 See
Chapters 2 and 4.
Chapter 6.
xv
www.it-ebooks.info
P1: OSO
fm
JWBS034-El-Haik
xvi
July 20, 2010
20:52
Printer Name: Yet to Come
PREFACE
Although Six Sigma is manufacturing-oriented, its application to software problem
solving is undisputable because as you may imagine, there are problems that need to
be solved in software and IT domains. However, the real value is in prevention rather
than in problem solving, hence, software Design For Six Sigma (DFSS).
DFSS is very vital to software design activities that decide quality, cost, and
cycle time of the software and can be improved greatly if the right strategy and
methodologies are used. Major IT corporations are training many software design
engineers and project leaders to become Six Sigma Black Belts, or Master Black
Belts, enabling them to play the leader role in corporate excellence.
Our book, Software Design For Six Sigma: A Roadmap for Excellence, constitutes
an algorithm of software design3 using the design for Six Sigma thinking, tools, and
philosophy to software design. The algorithm also will include conceptual design
frameworks, mathematical derivation for Six Sigma capability upfront to enable
design teams to disregard concepts that are not capable upfront . . . learning the
software development cycle and saving developmental costs.
DFSS offers engineers powerful opportunities to develop more successful systems,
software, hardware, and processes. In applying Design for Six Sigma to software
systems, two leading experts offer a realistic, step-by-step process for succeeding with
DFSS. Their clear, start-to-finish road map is designed for successfully developing
complex high-technology products and systems.
Drawing on their unsurpassed experience leading DFSS and Six Sigma in deployment in Fortune 100 companies, the authors cover the entire software DFSS
project life cycle, from business case through scheduling, customer-driven requirements gathering through execution. They provide real-world experience for applying
their techniques to software alone, hardware alone, and systems composed of both.
Product developers will find proven job aids and specific guidance about what teams
and team members need to do at every stage. Using this book’s integrated, systems
approach, marketers and software professionals can converge all their efforts on what
really matters: addressing the customer’s true needs.
The uniqueness of this book is bringing all those methodologies under the umbrella
of design and giving a detailed description about how those methods, QFD,4 robust
design methods,5 software failure mode and effect analysis (SFMEA),6 Design for
X,7 and axiomatic design8 can be used to help quality improvements in software
development, what kinds of different roles those methods play in various stages of
design, and how to combine those methods to form a comprehensive strategy, a design
algorithm, to tackle any quality issues during the design stage.
This book is not only helpful for software quality assurance professionals, but
also it will help design engineers, project engineers, and mid-level management to
3 See
Chapter 11.
12.
5 Chapter 18.
6 Chapter 16.
7 Design for X-ability includes reliability, testability, reusability, availability, etc. See Chapter 14 for more
details.
8 Chapter 13.
4 Chapter
www.it-ebooks.info
P1: OSO
fm
JWBS034-El-Haik
July 20, 2010
20:52
Printer Name: Yet to Come
PREFACE
xvii
gain fundamental knowledge about software Design for Six Sigma. After reading this
book, the reader could gain the entire body knowledge for software DFSS. So this
book also can be used as a reference book for all software Design for Six Sigmarelated people, as well as training material for a DFSS Green Belt, Black Belt, or
Master Black Belt.
We believe that this book is coming at the right time because more and more IT
companies are starting DFSS initiatives to improve their design quality.
Your comments and suggestions to this book are greatly appreciated. We will give
serious consideration to your suggestions for future editions. Also, we are conducting
public and in-house Six Sigma and DFSS workshops and provide consulting services.
Dr. Basem El-Haik can be reached via e-mail:
[email protected]
Dr. Adnan Shaout can be reached via e-mail:
[email protected]
www.it-ebooks.info
P1: OSO
fm
JWBS034-El-Haik
July 20, 2010
20:52
Printer Name: Yet to Come
www.it-ebooks.info