Process Improvement for Software Projects CMMI and Lean Six Sigma USC CSC1 510 16 Nov 2015 Rick Hefner, Ph.D. California Institute of Technology rhefner@Caltech.edu Agenda • Current Challenges Facing the Software Industry • Capability Maturity Model Integrated • Lean Six Sigma • Corporate Support 2 What are some of the challenges facing software companies? 3 Software Projects Have Historically Suffered from Mistakes People-Related Mistakes 1. Undermined motivation 2. Weak personnel 3. Uncontrolled problem employees 4. Heroics 5. Adding people to a late project 6. Noisy, crowded offices 7. Friction between developers and customers 8. Unrealistic expectations 9. Lack of effective project sponsorship 10. Lack of stakeholder buy-in 11. Lack of user input 12. Politics placed over substance 13. Wishful thinking 4 Process-Related Mistakes 14. Overly optimistic schedules 15. Insufficient Risk Management 16. Contractor failure Insufficient planning 17. Abandonment of planning under pressure 18. Wasted time during the fuzzy front end 19. Shortchanged upstream activities 20. Inadequate design 21. Shortchanged quality assurance 22. Insufficient management controls 23. Premature or too frequent convergence 25. Omitting necessary tasks from estimates 26. Planning to catch up later 27. Code-like-hell programming Reference: Steve McConnell, Rapid Development Product-Related Mistakes 28. Requirements gold-plating 29. Feature creep 30. Developer gold-plating 31. Push me, pull me negotiation 32. Research-oriented development Technology-Related Mistakes 33. Silver-bullet syndrome 34. Overestimated savings from new tools or methods 35. Switching tools in the middle of a project 36. Lack of automated source-code control Standish Group survey of 13,000 projects (2003) • 34% successes • 15% failures • 51% overruns Top Software Engineering Issues in Defense Industry 1. The impact of requirements upon software is not consistently quantified and managed in development or sustainment 2. Fundamental system engineering decisions are made without full participation of software engineering 3. Software life-cycle planning and management by acquirers and suppliers is ineffective 4. The quantity and quality of software engineering expertise is insufficient to meet the demands of government and the defense industry 5. Traditional software verification techniques are costly and ineffective for dealing with the scale and complexity of modern systems 6. There is a failure to assure correct, predictable, safe, secure execution of complex software in distributed environments 7. Inadequate attention is given to total lifecycle issues for COTS/NDI impacts on lifecycle cost and risk “Top Software Engineering Issues In Defense Industry”, NDIA Systems Engineering Division and Software Committee, Sep 2006 5 Many Approaches to Solving the Problem • Which weaknesses are causing my problems? • Which strengths may mitigate my problems? • Which improvement investments offer the best return? People Business Environment Tools Process 6 Management Structure Product Methods Technology Heritage of Standards for Systems Engineering 2002 2002 ISO/IEC 15504 ISO/IEC 19760 (FDIS) (PDTR) 1998 1994 EIA / IS 632 1994 1974 1969 Mil-Std499 Mil-Std499A Mil-Std499B (Not Released) EIA 632 (Full Std) 1994 (Trial Use) ISO/IEC 15288 (FDIS) 1998 (Interim Standard) IEEE 1220 2002 1998 IEEE 1220 (Full Std) EIA/IS 731 SE CM (Interim Standard) 2002 Legend Supersedes Source for 7 CMMISE/SW/IPPD Standards for Systems Engineering, Jerry Lake, 2002 The Frameworks Quagmire Sarah A. Sheard, Software Productivity Consortium 8 Evolution of the Frameworks Quagmire, Software Magazine Two Complimentary Approaches to Process Improvement Model-Driven (e.g., CMMI) • Determine the industry best practice – Benchmarking, models • Clarify what your customer wants (Voice of Customer) – Critical to Quality (CTQs) • Compare your current practices to the model – Appraisal, education • Determine what your processes can do (Voice of Process) – Statistical Process Control • Identify and prioritize improvement opportunities – Implementation – Institutionalization • Identify and prioritize improvement opportunities – Causal analysis of data • Look for ways to optimize the processes 9 Data-Driven (e.g., Lean Six Sigma) • Anticipate your customers/ competitors (Voice of Business) – Design for Six Sigma Capability Maturity Model Integrated 10 How would you ensure best practices are implemented consistently in your software company? What is the Capability Maturity Model Integrated? • The CMMI is a collection of industry best-practices for engineering, services, acquisition, project management, support, and process management – Developed under the sponsorship of DoD – Consistent with DoD and commercial standards Three Constellations sharing common components and structure • CMMI for Development - used by engineering organizations • CMMI for Acquisition - used by buyers (e.g., govt. agencies) • CMMI for Services - used by service providers (e.g., help desk) 12 Basic Building Blocks – 22 Process Areas Implemented by the organization Implemented by each project Project Management • Project Planning • Project Monitoring and Control • Supplier Agreement Management • Integrated Project Management) • Risk Management • Quantitative Project Management 13 Engineering • Requirements Development • Requirements Management • Technical Solution • Product Integration • Verification • Validation Support • Configuration Management • Process and Product Quality Assurance • Measurement and Analysis • Decision Analysis and Resolution • Causal Analysis and Resolution Process Management • Organizational Process Focus • Organizational Process Definition • Organizational Training • Organizational Process Performance • Organizational Performance Management Expected Practices Provide Guidance for Implementation and Institutionalization Project Planning – Implementation SG 1 Establish Estimates SP 1.1 Estimate the Scope of the Project SP 1.2 Establish Estimates of Work Product and Task Attributes SP 1.3 Define Project Lifecycle Phases SP 1.4 Estimate Effort and Cost SG 2 Develop a Project Plan SP 2.1 Establish the Budget and Schedule SP 2.2 Identify Project Risks SP 2.3 Plan Data Management SP 2.4 Plan the Project’s Resources SP 2.5 Plan Needed Knowledge and Skills SP 2.6 Plan Stakeholder Involvement SP 2.7 Establish the Project Plan SG 3 Obtain Commitment to the Plan SP 3.1 Review Plans That Affect the Project SP 3.2 Reconcile Work and Resource Levels SP 3.3 Obtain Plan Commitment 14 Project Planning - Institutionalization GG 2 Institutionalize a Managed Process GP 2.1 Establish an Organizational Policy GP 2.2 Plan the Process GP 2.3 Provide Resources GP 2.4 Assign Responsibility GP 2.5 Train People GP 2.6 Manage Configurations GP 2.7 Identify and Involve Relevant Stakeholders GP 2.8 Monitor and Control the Process GP 2.9 Objectively Evaluate Adherence GP 2.10 Review Status with Higher Level Management GG 3 Institutionalize a Defined Process GP 3.1 Establish a Defined Process GP 3.2 Collect Improvement Information Practice Ratings for the Organization/Projects 15 How is the CMMI Used for Process Improvement? IDEAL Model www.sei.cmu.edu/ideal/ 16 Typical CMMI Benefits Cited in Literature • Reduced costs – 33% decrease in the average cost to fix a defect (Boeing) – 20% reduction in unit software costs (Lockheed Martin) • Faster Schedules – 50% reduction in release turnaround time (Boeing) – 60% reduction in re-work following test (Boeing) • Greater Productivity – 25-30% increase in productivity within 3 years (Lockheed Martin, Harris, Siemens) • Higher Quality – 50% reduction of software defects (Lockheed Martin) • Customer Satisfaction – 55% increase in award fees (Lockheed Martin) 17 Lean Six Sigma 18 What is Lean Six Sigma (LSS)? • Lean Six Sigma is a powerful approach to improving business • LSS improvement projects are performed by teams • Teams use a set of tools and techniques to understand problems and find solutions • Lean Six Sigma integrates tools and techniques from two proven process improvement methods + 19 DMAIC: Define-Measure-Analyze-Improve-Control A proven, structured problem-solving approach for improving existing processes • Define: Identify the issue causing the perceived problem or improvement opportunity • Measure: Collect data from the process • Analysis: Study the data for cause and effect • Improve: Eliminate cause(s) and determine resulting effects • Control: Sustain the gains by monitoring the system 20 DMAIC Toolkit Define • Charter Measure • Kano Model • Voice of the Process • Voice of the Customer • Data Collection Methods • Voice of the Business • Measurement System Evaluation • Quality Function Deployment Analyze • Cause & Effect Diagrams/ Matrix • Design of Experiments • Failure Modes & Effects Analysis • ANOVA • Statistical Inference • Robust Design • Reliability Analysis • Root Cause Analysis, including 5 Whys • Hypothesis Test 21 Improve • Modeling • Tolerancing • Systems Thinking • Decision & Risk Analysis Control Statistical Controls • Control Charts • Time Series methods Non-Statistical Controls • Procedural adherence • Performance Management • Preventive measures Lean - Definition • Lean is the philosophy of improving performance by reducing waste and eliminating bottlenecks • Used together, the two methodologies become a powerful set of tools for improving business processes 22 "The 8 Wastes - DOWNTIME" by Source (WP:NFCC#4). Licensed under Fair use via Wikipedia. Organizational Adoption: Roles & Responsibilities • Champions – Facilitate the leadership, implementation, and deployment • Sponsors – Provide resources • Process Owners – Responsible for the processes being improved • Master Black Belts – Serve as mentors for Black Belts • Black Belts – Lead major Six Sigma projects – Typically requires 4 weeks of training • Green Belts – Lead minor Six Sigma teams, or serve on improvement teams under a Black Belt – Typically requires 2 weeks of training 23 A Typical Lean Six Sigma Project in Aerospace The organization notes that systems integration has been problematic on past projects (budget/schedule overruns) A Six Sigma team is formed to scope the problem, collect data from past projects, and determine the root cause(s) The team’s analysis of the historical data indicates that ineffective peer reviews are leaving significant errors to be found in test Procedures and criteria for better peer reviews are written, using best practices from past projects A pilot project uses the new peer review procedures and criteria, and collects data to verify they solve the problem The organization’s standard process and training is modified to incorporate the procedures and criteria, to prevent similar problems on future projects 24 Corporate Support 25 Organizational Infrastructure Required Process Group Training Program Measurement Repositories Predictive Modeling Best-Practice Libraries Audits & Appraisals Defects per component Policies, Processes, Templates & Tools Process Improvement Communications 25 20 15 UCL 10 _ X 5 0 1 11 21 31 41 51 61 71 Component # Developing and maintaining mature processes requires significant time and investment in infrastructure 26 Northrop Grumman Approach: Institutionalizing Our Improvements We systematically analyze quality and process data and trends to determine how to improve our processes We improve our process assets based on internal and external best practices Disposition Analysis ISO/AS9100 Findings CMMI Appraisal Findings Customer Comments Independent Audits • Systems/ Software Engineering Process Group • Working Groups • Program Management Advisory Board Lessons Learned & Metrics Tools 27 Increasing program efficiency Industry Standards Internal Best Practices Configuration Control Board Information Deployed to programs Policy Process Six Sigma Projects Procedures External Best Practices Checklists and Guides Templates and Examples msCAS eToolkit StartIt! My MS Portal PAL Workbench PCDB Lessons Learned • Multiple improvement initiatives helps encourage a change in behavior as opposed to “achieving a goal” – Reinforces that change (improvement) is a way of life • Benefits result from institutionalizing local improvements across the wider organization – CMMI establishes the needed mechanisms • Training over half the staff as Lean Six Sigma Green Belts resulted in a change of language and culture – Voice of Customer, data-driven decisions, causal analysis, etc. – Better to understand/use tools in everyday work than to adopt the “religion” • CMMI and Lean Six Sigma compliment each other – CMMI can yield behaviors without benefits – Lean Six Sigma improvements based solely on data may miss innovative improvements (assumes a local optimum) 28