370 likes | 486 Views
Process Improvement. It is not necessary to change. Survival is not mandatory. W. Edwards Deming Both change and stability are fundamental to process improvement. Dennis Ahern . Models.
E N D
It is not necessary to change. Survival is not mandatory. • W. Edwards Deming Both change and stability are fundamental to process improvement. • Dennis Ahern
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 • Observe some difficulty • Collect some data • Identify the root causes (hypothesis) • Develop reasonable solutions (test) • Plan and implement the changes
Process Improvement Doesn’t Just Happen • many models and buzzwords • SEI • ISO 9000 • CQI • test process improvement • PSP • CMM • Plan-Do-Check-Act • QIP • …
Emphasis • high-quality software • finite amount of resources • cost-effective manner
Two Observables • Cost: • Main cost in software is time. (Why?) • Quality: • correctness • reliability • robustness • user friendliness • verifiability • maintainability • safety
Why is Process Improvement Difficult? • Software development is: • Evolutionary and experimental • Not production • Human based • Software is variable: • Processes • Goals • Content • We lack models: • Needed to to reason about the process and the product
Capability Maturity Model (CMM) for Software • Process Capability • ability of a process to produce planned results • Software Engineering Institute (SEI) • Carnegie Mellon • 5 Levels • Certification based on audits
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
Optimizing Major improvements in quality and quantity SEI Capability Maturity Model Process control • Managed • Substantial quality improvements • Comprehensive measurements Process management Defined Achieved foundation for major and continuing progress Process definition Basic management control Repeatable Achieved a stable process with a repeatable level of statistical control • Initial • Ad hoc • No process in place
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 To get to next level Initiate project management CMM Maturity Level 1: Initial
Elements of Basic Project Management • Software Configuration Management • Software Quality Assurance • Software Acquisition Management • Software Project Control • Software Project Planning • Software Requirements Management
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 To get to next level Standardize Processes CMM Maturity Level 2: Repeatable
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
Characteristics Process for development fully documented Reviews used to achieve software quality Introduce CASE Tools To get to next level Quantitative Management CMM Maturity Level 3: Defined
Quantitative Management • Statistical process management • quantify quality and cost parameters • Process database to maintain process data • Assess relative quality of each product
Characteristics Organization sets quality and productivity goals for each project Continually measure Statistical quality control in place To get to next level Support automatic gathering of process data Use data to analyze and modify the process Defect Prevention CMM Maturity Level 4: Managed
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 CMM Maturity Level 5: Optimizing
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 • understanding the principles of the process, • predicting product’s quality • suggest further improvement
Other Improvement Process Models-2 Quality Improvement Paradigm (NASA Goddard) (Systematic software development and SE technology validation ) • Characterize project using models and baselines • Set quantifiable improvement goals on basis of relevance to organizing successful project and organization performance improvement • Executethe plan to develop products and provide feedback • Analyze the collected data and information gathered and evaluate the current practices, determine problems, record findings, and make recommendations for improvement • Package the experience in the form of new, updated or refined models. Store them in an experience base so it is available for future projects.
CMMI: CMM Integrated Reduce Cost: • eliminate inconsistencies between processes • Reduce duplication • Provide common terminology and style • Increase clarity
CMMI Principles • Maintain executive support • Strong consistent support is crucial • Pick your targets carefully • Don’t underestimate effort • Leverage best practices • “Steal with pride” • Align process improvement with your business objectives • Improve your business
The Model • Required: Statement of Goals • a desirable end state; succinct • Example: Requirements are managed and inconsistencies with plans and products are identified • Expected: Statement of a Practice • the expected means of achieving a goal • every practice maps to exactly one goal • Example: Develop an understanding with the requirements providers on the meaning of the requirements • Informative: 10 types of information components identified (e.g. purpose, reference, typical work products)
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
4 process areas • Process Management • Process Definition • Training • Project Management • Engineering • Support
4 process areas • Process Management • Project Management • Project Planning • Monitoring and Control • Risk Management • Engineering • Support
4 process areas • Process Management • Project Management • Engineering • Requirements Development and Management • V&V • Product Integration • Support
4 process areas • Process Management • Project Management • Engineering • Support • Configuration Management • Measurement and Analysis • Decision Analysis and Resolution
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