Process Improvement CMM Hans Van Vliet, Software Engineering, Principles and Practice, 3rd edition, John Wiley & Sons, 2008. Chapter 6. W. Humphrey, Characterizing the Software Process: A Maturity Framework. IEEE Software, 5(2):73-79, Mar 1988. CS 4311 1 Learning Objectives To know what process improvement is along with its motivation To understand CMM as an example process improvement model CS 4311 2 Motivation Definition: Process Improvement A series of actions taken to identify, analyze and improve existing processes to meet new goals and objectives, etc. Why PI? Goal of S/W development => To produce high-quality software Accomplish it by improving its process? CS 4311 3 Basic Model of Improvement Observe some difficulty Collect some data Identify the root causes (hypothesis) Develop reasonable solutions (test) Plan and implement the changes CS 4311 4 Emphasis High-quality software correctness reliability robustness user friendliness verifiability maintainability safety Finite amount of resources Cost-effective manner CS 4311 Main cost in software is time 5 Why is Process Improvement Difficult? Software is variable: Processes Goals Content Software development is: Evolutionary and experimental Not production Human based Lack of models: Needed CS 4311 to reason about the process and the product 6 Process Improvement Framework Quagmire CS 4311 7 Capability Maturity Model (CMM) for Software Process capability Ability of a process to produce planned results Software Engineering Institute (SEI) Carnegie Mellon 5 Levels: Levels 1-5 Certification based on audits CS 4311 8 5 Stages of CMM for Software Level 1: Initial Level 2: Repeatable Level 3: Defined Level 4: Managed Level 5: Optimizing Optimizing Managed Defined Repeatable Initial CS 4311 9 Capability Maturity Model Level 5: Optimizing Major improvements in quality and quantity Level 4: Managed • Substantial quality improvements • Comprehensive measurements Level 3: Defined Achieved foundation for major and continuing progress Level 2: Repeatable Achieved a stable process with a repeatable level of statistical control Continuous process Improvement Quantitative management Process standardization Basic project management Level 1: Initial • Ad hoc • No process in place CS 4311 Heroics 10 Group Work: CMM Levels Read p. 137-142 or [Humphrey88] Team 1: Levels 1 & 2 Team 2: Levels 2 & 3 Team 3: Levels 3 & 4 Team 4: Levels 4 & 5 Team 5: Levels 1 & 2 Team 6: Levels 2 & 3 Study CMM levels focusing on CS 4311 Characteristics of each level What should be done to move to the next level 11 CMM Maturity Level 1: Initial Characteristics No sound SE management principles in place Ad hoc practices May be successful because of competent manager and team Activities are not preplanned, but response to crisis Unpredictable process Cannot predict time and cost of development CS 4311 To get to next level Initiate project management 12 CMM Maturity Level 2: Repeatable Characteristics Basic SE management practices in place Planning and management are based on experience with similar products (repeatable) Track costs and schedules Identify problems as arise and take immediate corrective action CS 4311 To get to next level Standardize Processes 13 Process Standardization Peer Reviews Project Interface Coordination Software Product Engineering methods and technologies software development process architecture Integrated Software Management Organization-level Awareness Organization Training Program Organization Process Definition Organization Process Focus CS 4311 14 CMM Maturity Level 3: Defined Characteristics Process for development fully documented Reviews used to achieve software quality Introduce CASE Tools CS 4311 To get to next level Quantitative Management 15 Quantitative Management Statistical process management quantify quality and cost parameters Process database to maintain process data Assess relative quality of each product CS 4311 16 CMM Maturity Level 4: Managed Characteristics Organization sets quality and productivity goals for each project Continually measure Statistical quality control in place CS 4311 To get to next level Support automatic gathering of process data Use data to analyze and modify the process Defect Prevention 17 CMM Maturity Level 5: Optimizing Characteristics Statistical quality and process control techniques are used and guide the organization Process has positive feedback loop CS 4311 To maintain level Continue improvement and optimization of the process 18