Đăng ký Đăng nhập

Tài liệu Software design for six sigma

.PDF
554
207
96

Mô tả:

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
- Xem thêm -

Tài liệu liên quan