SOFTWARE PRODUCTIVITY CONSORTIUM
Integrating Six Sigma and the CMMI David N. Card
Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Topics • Background • Six Sigma and the CMMI • Design for Six Sigma and Software Development • Putting It All Together • Challenges
Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Background
Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Problem Statement • Adoption of Six Sigma is increasing among Member Companies who already employ CMM/CMMI-based software process improvement. • They are superficially different approaches: – Different language and terminology – Different consultants – Different professional societies
• Does Six Sigma obviate CMM-based process improvement? Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Some Historical Influences Shewhart SPC Six Sigma Fisher DOE Crosby COQA
CMMI Paulk CMM Humphrey 85Qs
Box EVOP
1900
1920
1940
1960
1980
Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
2000
SOFTWARE PRODUCTIVITY CONSORTIUM
Six Sigma and CMMI
Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Quality Management Maturity Grid
CMM/CMMI Translate the QMMG into the Software and Systems Domains
Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
What’s Six Sigma? Spec. Limits
• Another quality slogan, for many • A business-focused philosophy based on statistical thinking • A goal for process capability
6σ σ Performance Measure
– Very small probability of unacceptable result (approximately 3 defects in a million to 2 defects in a billion) – Only arrived at by understanding and managing process performance – Usually only meaningful for a process element or activity
• An integrated set of established techniques including statistical process control, design of experiments, quality function deployment, benchmarking, etc. Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
6σ σ on Benchmarking • Essential to becoming “best in class” • Typically need to benchmark with many different organizations to cover all processes • Can be done via literature searches • Should be a continuing activity • CMM provides synthetic benchmark of best practices for software engineering
Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Control Charts Provide a Useful View of Many Processes Inspections of State Transition Diagrams
Upper Limit Center Actuals
From D.Card, Controlling the Object-Oriented Design Process, CNRC Conference on Quality Assurance of Object-Oriented Software, February 2000 Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Significant Differences Six Sigma
CMM/CMMI
Assumes processes have been identified and defined
Focus on defining management and technical processes early
Doesn’t distinguish organizational standard and project processes
Organizational process definition used to capture best practices
Emphasis on training to motivate and communicate skills
Emphasis on infrastructure to ensure key processes addressed
Reliance on statistical methods to manage performance
Statistical approach intended often not implemented
Focus on learning from internal experience and data
Additional mechanisms to leverage external technology
Prioritization of efforts based on business payoff
Link to strategic planning weak and often ignored
Certification of individual practitioners, not organizations
Certification of assessors and organizations, not practitioners
David N. Card, Sorting Out Six Sigma and the CMM, IEEE Software, July 2000 Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Practical Implications • Adopting a Statistical Process Control-based approach to Level 4 facilitates the transition to Six Sigma • Six Sigma is difficult for Level 1 organizations to implement • Six Sigma provides an alternative (not a short cut) to pursuing Level 5 for Level 3 organizations seeking to instill continuous improvement • Incorporating Six Sigma techniques helps organizations working towards Level 4 and 5 to deliver the best business results Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Design for Six Sigma and Software Development
Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Design for Six Sigma • Moving past five sigma often requires redesigning processes and products • Two strategies commonly applied: – Use standardized and proven parts (i.e., reuse and COTS) – Minimize complexity in process (e.g., fewer steps) and product (i.e., increase producibility)
• Implies concurrent design of process and product (e.g., tailoring of organizational process) Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Traditional Manufacturing Context
Design Process
Design Product Product Design
Execute Process Process Design
Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
Deliverable Products
SOFTWARE PRODUCTIVITY CONSORTIUM
Typical DFSS Context DFSS (Process)
Six Sigma
Design Process Process Design
Execute Process
Design Product
Deliverable Products
Product Design
DFSS (Product) Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Two Related Objectives • Design the process from the start to achieve Six Sigma • Design the product to facilitate the process – minimize breakage during production DFSS is not a software development methodology, but its concepts and techniques can be incorporated into one!
Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Producibility in Software 9 10 8
B
A G
7 H
F
6 5
Defects 4 Per KSLOC 3
C E D
r = 0.83 p(r = 0) < 0.02
2 1
25
Design Complexity
30
From D.N. Card, Measuring Software Design Quality, Prentice Hall, 1990 Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
35 SOFTWARE PRODUCTIVITY CONSORTIUM
Putting It All Together
Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
There’s No Easy Answer! • Which software development approach should I adopt? – – – – –
CMM/CMMI Extreme Programming Iterative Development DFSS Etc.
• Processes (methods, tools, people) provide competitive advantage – have to be adapted to the organization Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Key Concepts for Integration • Each paradigm addresses a different issue • CMM/CMMI describe what must be done, not how to do it • Six Sigma and DFSS provide generally applicable techniques • Software and systems development methodologies define the detailed “problem appropriate” steps to accomplishing work
Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
First Step Towards Integration Six Sigma
DFSS (Process)
Support
Engineering
Process Management
Audits, etc. Extreme Programming, etc. DFSS (Product)
System Design
Project Management
Earned Value, etc.
Software Product System Product
Manufacturing (May be just duplication)
Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Six Sigma in Support Processes EMEA is a mechanis m for CAR
These are not all the possibilities…
Pugh Matrix is a mechanism for DA&R
Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
Regression Analysis is a mechanism for CAR
Control Chart is a mechanism for M&A. SOFTWARE PRODUCTIVITY CONSORTIUM
Six Sigma in Project Management These are not all the possibilities…
Control Chart is a mechanism for OPM.
Control Chart is a mechanism PM&C.
Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Six Sigma in Process Management Deployment Flow Chart is a mechanism for OPF and OPD.
These are not all the possibilities…
Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Six Sigma in Engineering These are not all the possibilities…
Quality Function Deployment can be a mechanism for RM, RD, and TS.
Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Challenges
Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Common Problems • • • •
Adoption of Statistical Thinking Statistical Issues Conceptual Models Focus on the score – CMM Level – “Sigma” rating
• Reluctance to recognize (and measure) the magnitude of software rework (Typically 3050%) Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Adoption of Statistical Thinking • Ambiguous use of “obvious” measurement terms • Unfamiliarity of statistical terms, concepts, and techniques • Lack of good engineering process data – Length of time it takes to produce data – Difficulty in performing and scaling experiments
• “Desire for Perfection” – Convenient excuse for resisters – Overload produced by enthusiasts
• Lack of software-oriented statistics training Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Conceptual Models • Design of Experiments – C. 1900 (agriculture) – Multiple trials following experimental design – Extraneous factors eliminated
• Evolutionary Operation – C. 1950 (chemical processes) – Systematic variation of key parameters – Normal operational conditions
• Statistical process control (c. 1920, manufacturing) accompanies both Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Statistical Issues • Distributional and data concerns – Control Charts: XR chart (typical for manufacturing) XmR and U charts
– ANOVA and Regression Parametric (based on normal distribution) Nonparametric and distribution-free analyses
• Elaborated versus assembled product Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM
Summary • Six Sigma and CMM/CMMI-based process improvement are complementary: – Six Sigma strengthens analysis capabilities – CMM provides organizational structure • Six Sigma provides a new package for existing quality and statistical techniques • Successful integration of these techniques requires expertise beyond just “assessing” • Limited research in addressing the issues that limit the application of Six Sigma to software and systems Copyright © 2001, Software Productivity Consortium NFP, Inc. All rights reserved.
SOFTWARE PRODUCTIVITY CONSORTIUM