Process Improvement
It is not necessary to change. Survival is not mandatory. »W. Edwards Deming
Models Models provide a common set of process requirements that capture the best practices and knowledge in a format that can be used to guide priorities. »CMMI Distilled, Ahern, Clouse, Turner, p5.
Basic Model of Improvement
Emphasis high-quality software finite amount of resources cost-effective manner
Two Observables Cost: Quality: –correctness –reliability –robustness –user friendliness –verifiability –maintainability –safety
Why is Process Improvement Difficult? Software development is: Software is variable: We lack models: –Needed to to reason about the process and the product
5 Stages of CMM for Software Level 1: Initial Level 2: Repeatable Level 3: Defined Level 4: Managed Level 5: Optimizing Initial Repeatable Defined Managed Optimizing
Initial Ad hoc No process in place Repeatable Achieved a stable process with a repeatable level of statistical control Defined Achieved foundation for major and continuing progress Managed Substantial quality improvements Comprehensive measurements Optimizing Major improvements in quality and quantity Basic management control Process definition Process management Process control SEI Capability Maturity Model
LevelFocus Initial Repeatable Defined Managed Optimizing
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 To get to next level Initiate project management
Elements of Basic Project Management Software Configuration Management Software Quality Assurance Software Acquisition Management Software Project Control Software Project Planning Software Requirements Management
CMM Maturity Level 2: Repeatable Characteristics Basic SE management practices in place Planning and management are based on experience with similar products (repeatable) To get to next level Standardize Processes
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
CMM Maturity Level 3: Defined Characteristics Process for development fully documented Reviews used to achieve software quality Introduce CASE Tools To get to next level Quantitative Management
Statistical process management –quantify quality and cost parameters Process database to maintain process data Assess relative quality of each product
CMM Maturity Level 4: Managed Characteristics Organization sets quality and productivity goals for each project To get to next level Support automatic gathering of process data Use data to analyze and modify the process Defect Prevention
CMM Maturity Level 5: Optimizing Characteristics Statistical quality and process control techniques are used and guide the organization Process has positive feedback loop To maintain level Continue improvement and optimization of the process
Other Improvement Process Models-1 Plan-Do-Check-Act (Deming) (Improving single process within an organization) Plan. Develop plan for effective improvement Do. The development organization carries out the plan Check. After process termination, observe the effects of the change or test Act. Study the results and document the lessons learned. Emphasis on
CMMI: CMM Integrated Reduce Cost: –eliminate inconsistencies between processes –Reduce duplication –Provide common terminology and style –Increase clarity
CMMI Principles Maintain executive support Pick your targets carefully Leverage best practices Align process improvement with your business objectives
The Model Required: Statement of Goals –a desirable end state; succinct Expected: Statement of a Practice –the expected means of achieving a goal –every practice maps to exactly one goal Informative: 10 types of information components identified (e.g. purpose, reference, typical work products)
Goals of the capability levels LevelGoal CL 0No goal CL 1The process supports achievement of specific goals of the process area by transforming identifiable inputs to identifiable outputs CL 2The process is institutionalized as a managed process CL 3The process is institutionalized as a defined process CL 4The process is institutionalized as a quantitatively managed process CL 5The process is institutionalized as an optimizing process
Level 3 Defined: For each process area considered, each project in the organization will have a managed process (created under Level 2) that is tailored using standard guidelines.
4 process categories Process Management Project Management Engineering Support
Summary: Process improvement May not be necessary for a given project May be neglected by some companies May be necessary for survival of –companies –employees