Process Management • Process Management in software started in late 1960’s (but informally and inconsistently) • Software Engineering Institute (SEI) is the center • Watts Humphrey (retired IBMer who joined SEI) was a key proponent of: (in sequential order) – CMM (capability maturity model) • Process maturity of organization – PSP (personal software process) • Process maturity of individual – CMMI (capability maturity model integrated) • Follow-on to CMM A Quick Overview of CMM (How You May Want to “Manage” Change & Certification) Software Engineering Institute (SEI) Federally Funded Research & Development Center (FFRDC) at Carnegie Mellon University Mission is to foster improvement of software processes Developed Capability Maturity Model and Assessment Methodology Educate “Authorized Lead Assessors” and organizations Many Assessors have been leading process improvement efforts since 1987 Process Management Premise • An undefined process cannot be start controlled (or measured) Improve Control • An uncontrolled process cannot be improved • Attempting to improve an unstable process yields further instability Define Measure Execute Process Adapted from SEI A 5 Step Approach to Software Process Improvement (SPI) Learning Propose Future Actions Analyze and Validate Implement Solution Refine Solution Stimulus for Change Set Context Build Sponsorship Charter Infrastructure Acting IDEALSM Initiating Pilot/Test Solution Characterize Current & Desired States Create Solution Diagnosing Develop Recommendations Set Priorities Plan Actions Develop Approach Establishing Meeting Your Business (SPI) Goals With (some)Assessor’s Products and Services Initiating -Executive Briefing -Pre-Assessment Consulting -Strategic &Tactical Planning Diagnosing (Assessing) -CMM Training -CMM Profiles(Pre-Assessments) -CBA -IPI (CMM based- internal process improvement assessment) Establishing Acting Learning -Process Definition -Process Templates -Action Planning Workshop -SEPG Development & Guidance -KPA/Process Improvement Training -Process Implementation Plan -Post-Assessment Consulting -Pilot Projects -Measurement Programs Improvement Framework Productivity and Quality Optimizing - Level 5 Total Organization Involvement Continuous Improvement Managed - Level 4 Quantifiable Predictability Quantitative Understanding Defined - Level 3 Engineering Process Consistency Repeatable - Level 2 Disciplined Focus Management Process Initial - Level 1 Chaos Behavioral Characteristics Capability Maturity ModelSM Version 1.1 RISK Improvement Framework Optimizing - Level 5 Defect Prevention Technology Change Mgmt Process Change Mgmt. Productivity and Quality Managed - Level 4 Quantitative Process Management Software Quality Management Defined - Level 3 Organization Process Focus Training Program Software Product Engineering Peer Reviews Organization Process Definition Integrated Software Management Intergroup Coordination RISK Repeatable - Level 2 Requirements Management Software Project Tracking & Oversight Software Quality Assurance Software Project Planning Subcontract Management Software Configuration Management Initial - Level 1: (no process!) Capability Maturity ModelSM Version 1.1 Why Use The CMM? • Provides a framework for: benchmarking the process and the organization • CMM is not prescriptive; it does not tell an organization how to improve – Provides good “common sense” engineering and management practices – The key practices do not • Limit the choice of life cycle • Require or preclude specific software technologies or language (e.g., prototyping, design method, coding or testing practices) • Require that documentation conform to any particular set of standards • The key practices are the result of “national consensus” – Use of standardized language and goals Early Reported Benefits Results of Software Process Improvement in 13 Organizations Category Range Median Productivity gain per year Early error detection gain per year (defects discovered pre-test) 9% - 67% 6% - 25% 35% 22% Yearly reduction in time to market Yearly reduction in post-release defect reports Value returned on each dollar invested 15% - 23% 10% - 94% 19% 39% 4.0 - 8.8 5.0 Source: Software Engineering Institute, 1994 ----- 17 years ago Process Maturity “Spanning the Years” 1% 1% 7% 12% 3% Level 3 Level 1 15% 129 Organizations 1987 - 1991 Legend Level 1 Level 2 Level 3 Level 4 Level 5 1987 - 1991 1998 92% 81% 7% 15% 2% 4% 1% Level 1 80% There was a 737% increase in the number of organizations assessed from 1987 through 1998 26% 951 Organizations 1998 55% Trends in Process Maturity* 600 Organizations Assessed 1987-1998 Number of Assessments 523 (55%) 500 400 300 247 (26%) 200 143 (15%) 100 28 (3%) 10 (1%) 0 Initial Repeatable Defined * Extracted from SEI’s Process Maturity Profile of the Software Community Assessments through December 1998 Managed Optimizing Year 1987 - 1991 Org. 129 1992 219 1993 317 1994 414 1995 506 1996 632 1997 782 1998 951 Maturity Profile by Organization Type 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% Initial Com mercial Re peatable Defined DOD/Fede ral Contractor * Extracted from SEI’s Process Maturity Profile of the Software Community Assessments through December 1998 Managed Mi litary/Fede ral Optimizing Othe r/Unknow n Assessment Overview • CMM Profile: – – – – – – Informal quantitative evaluation Excellent mechanism as a interim or pre-assessment Non-intrusive to organization Guidance on recommended process improvements Results not forwarded to SEI Typically a 3-5 day activity • CBA IPI (CMM Based Assessment Internal Process Improvements): – – – – – – Formal Assessment Automated approach saving your organization up to 40% time/effort Collaborative Guidance on recommended process improvements Results forwarded to SEI Typically a 10 day activity CMMSM Profile Projects Collect Documents Process Data Fill Out Questionnaire Select Projects Identify Scope Kick-Off Meeting -Organizational -Project -Implementation Review Documents Interviews -Project Leaders -Middle Managers -Practitioners -SEPG Findings Presentation Legend = Activities completed prior to on-site visit -Findings -Next Steps CBA IPI Process Flow Pre Assessment Period Training Day 1 Introduction CMM Training* Organizational Overview Assessment Activities Walkthrough Day 2 Assessment Activities Walkthrough Day 1 Kick-Off Meeting SEI Questionnaire Response Project Selection Finalize Assessment Planning and Logistics * Additional CMM training as Required SEI Questionnaire Trend Analysis Document Review Day 2 Document Review Day 3 Document Review Scripting Assessment Questions On-Site Notebook Development CBA IPI Process Flow On-site Period Day 1 Day 2 Project Leader Interviews Functional Area Rep Interviews Functional Area Rep Interviews Consolidate Data Day 3 Consolidate Data Follow-on Interviews (As required) Day 4 Day 5 Present Draft Findings( Pls) Present Final Findings Present Draft Findings (FARs) Executive Session Appraisal Wrap-up Prepare Draft Findings Rate Organization Next Steps Develop Final Finding Presentation Assessment of any Key Process Area(KPA) This is where the assessors earns his/her “money” !!! • 5 Components of Assessment of any Process: – – – – – Commitment : organizational/management commitment Ability : availability of qualified/skilled resources Activity : specific functions performed Measurement : what and how status is recorded & gauged Verification : what and how are the activities verified More Recent (2002) Data • CBA IPIs and SPAs conducted since 1987 through Dec. 2001 and returned to SEI by Jan. 2002 – 2164 assessments • 1676 CBA IPIs (CMM-Based Assessment- Internal Process Improvement) • 488 SPAs (Software Process Assessment) – 1638 organizations • 8925 projects • 456 participating companies • 427 reassessed organizations • Assessments conducted from 1997 through Dec. 2001 – 1158 organizations (38% of which is offshore) • 5624 projects • 365 participating companies Note: CMM was developed mostly from 1987 to 1997. Types of Organizations by SIC (Standard Industry Classification) code • 27.9% - Service Industry (business, engineering,health, etc.) • 16.4 % - Manufacturing (electronic,printing,instruments,metal, chemical,etc.) • 6.1% - Public Administration • 5.9% - Finance, Insurance, etc. • 4.5% - Transportation, Utility, etc. • 38.0% - off shore (non-SIC coded) • 1.2% - others Note Based on 1104 organizations who reported size (employees in software development & maintenance) 201 to 2000+ 30.3% 101 to 200 23.8% 1 to 100 45.9 % Personal Software Process (championed by W. Humphrey) • Understanding the person’s individual – Productivity – Skills – Methodology • Keeping track of the person’s individual – Efforts (e.g. requirements, design, coding, testing, etc.) – Quality (errors and fixes) • Allows improvements in – Estimation – Task performance CMMI (CMM Integrated) • CMMI model is a fairly recent extension/modification of CMM (developed around 2002 and still growing & changing) We are interested in CMMI for Software Engineering. (there are others such as CMMI for Systems Engineering, Supplier Sourcing, and Integrated Product and Process Development) There are 2 models : i) Staged and ii) Continuous • • – Different levels • • – 25 major processes grouped into 4 categories: • • • • – 5 levels for Staged 6 levels for Continuous Organizational Project management Engineering Support Category There are Goals and Practices for Each Process – to be satisfied for both models Levels for Continuous versus Staged Models – A. Continuous model has 6 capability levels where each process moves through these 6 different levels of capability: • Level (0) Incomplete – not performed or partially performed • (1) Performed - perform the basic practice • (2) Managed - institutionalized process (performed according to policy) • (3) Defined - tailored & institutionalized specifically to the organization • (4) Quantitatively Managed – process is quantitatively managed • (5) Optimizing – process is continuously improved and adapted – B. Staged model has 5 maturity levels (like traditional CMM) each of which contains different processes that must be mastered: • Level (1) Initial • (2) Managed • (3) Defined • (4) Quantified • (5) Optimizing Level 5 Optimizing Optimizing Level 4 Quantitatively Managed Quantitatively Managed Level 3 Defined Defined Level 2 Managed Managed Level 1 Performed Initial Level 0 Incomplete ------ Continuous Staged (Capability Levels) (Maturity Levels) Levels for Continuous versus Staged models in CMM I 4 CMMI Process Areas • Process Management (5 processes) – – – – – Organizational Process Focus Organizational Process Definition Organizational Training Organizational Process Performance Organizational Innovation and Deployment • Project Management (8 processes) – – – – – – – – Project planning Project Monitoring and Control Supplier Agreement Management Integrated Project Management Risk Management Quantitative Project Management Integrated Supplier Management Quantitative Project Management 4 CMMI Process Areas (cont.) • Engineering: (6 processes) – – – – – – Requirements Management Requirements Development Technical Solution Product Integration Verification Validation • Support: (6 processes) – – – – – – Configuration Management Process and Product Quality Assurance Measurement and Analysis Organizational Environment for Integration Decision Analysis and Resolution Causal Analysis and Resolution Capability Level by Process Areas for Continuous Representation 5 4 3 Capability Levels 2 1 0 - - - - Process Process Process Area 1 Area 2 Area 3 Process Area 25 For Continuous Model, each Process Area is Assessed at its own Level. So, we can compare process by process within an organization. Generic Practice 1 Generic - - - - Practice n Generic Goal 1 Process Area 1 ---- Specific - - - Practice w Generic Practice p Generic Goal 5 Process Area 25 - - - - - - - - - - - - - - - - - Specific Specific Goal 1 Goal x Specific Practice 1 - - - - Generic Practice 1 Specific Goal 1 ---- Specific Practice 1 Relationships of Goals and Practices Specific Goal z Specific - - - Practice k CL5 Optimizing + (Generic Goal 5) CL4 Quantitatively Managed + (Generic Goal 4) CL3 CL2 Defined + (Generic Goal 3) Managed + (Generic Goal 2) CL1 Performed + (Specific Goals) +(Generic Goal 1) CL0 Incomplete Achieving the “Capability Levels” by each Process Area in the Continuous Representation Model Staged Model and Maturity Levels (MLs) ML5:Optimizing 1. Organizational Innovation & Deploy 2. Causal Analysis & Resolution ML4:Quantitatively Managed 1. 2. Organizational Process Performance, Quantitative Proj. Mgmt ML3:Defined ML2:Managed 1. Req. Development, 2. Technical solutions, 3. Product Integration, 4. Verification, 5. Validation, 6. Organizational Process Focus, 7. Organiz. Process Definition, 8. Organiz. Training, 9. Integrated Proj. Mgmt, 10. Risk Mgmt, 11.Integrated Teaming, 12. Integrated Supplier Mgmt, 13. Decision Analysis and Resloution, 14. Organiz. Environment for Integration 1. Requirements Mgmt, 2. Project Planning, 3. Configuration Mgmt, 4.Supplier Agreement Mgmt, 5. Project Monitoring & Cntrl, 6. Measurement & Analysis, 7. Process & Product QA ML1:Initial No Process May Use CMMI for 3 Separate Areas of Interest 1. Product and Service Development (CMMI for Development model) 2. Service Establishment, Management, and Delivery (CMMI for Services model) 3. Product and Service Acquisition (CMMI for Acquisition model)