Process Improvement. From the Software Engineering Institute:



Similar documents
Distributed and Outsourced Software Engineering. The CMMI Model. Peter Kolb. Software Engineering

Capability Maturity Model Integration (CMMI ) Overview

Quality Systems Frameworks. SE 350 Software Process & Product Quality 1

CMMI KEY PROCESS AREAS

MKS Integrity & CMMI. July, 2007

PROCESS IMPROVEMENT CAPABILITY MATURITY MODEL

A Report on The Capability Maturity Model

Life Cycle Models, CMMI, Lean, Six Sigma Why use them?

Capability Maturity Model Integration (CMMI SM ) Fundamentals

Introduction to SEIs Capability Maturity Model Integration (CMMI)

The Capability Maturity Model for Software, Version 1.1

Leveraging CMMI framework for Engineering Services

CMMI for Development Introduction & Implementation Roadmap

Capability Maturity Model Integration (CMMI ) Version 1.2 Overview

CMMI: Specific Goals and Practices

Software Quality Standards and. from Ontological Point of View SMEF. Konstantina Georgieva

Developing CMMI in IT Projects with Considering other Development Models

SW Process Improvement and CMMI. Dr. Kanchit Malaivongs Authorized SCAMPI Lead Appraisor Authorized CMMI Instructor

Software Engineering. Standardization of Software Processes. Lecturer: Giuseppe Santucci

Engineering Standards in Support of

The Compelling Case For CMMI-SVC: CMMI-SVC, ITIL & ISO20000 demystified

Steve Masters (SEI) SEPG North America March Carnegie Mellon University

Software Process Improvement Framework for Software Outsourcing Based On CMMI Master of Science Thesis in Software Engineering and Management

Case Study of CMMI implementation at Bank of Montreal (BMO) Financial Group

Towards a new approach of continuous process improvement based on CMMI and PMBOK

Agenda. CMMI, ITIL & ISO A Mutually Supportive Relationship

Using Baldrige Performance Criteria to Strengthen CMMI Measurable Results NDIA CMMI Conference - November 2008

CAPABILITY MATURITY MODEL INTEGRATION

Capability Maturity Model Integration (CMMI)

Best of Everything ITIL, CMMI & Lean Six Sigma

Using Rational Software Solutions to Achieve CMMI Level 2

Software Quality Management II

Frameworks for IT Management

Truly Managing a Project and Keeping Sane While Wrestling Elegantly With PMBOK, Scrum and CMMI (Together or Any Combination)

Future of CMM and Quality Improvement. Roy Ko Hong Kong Productivity Council

Capability Maturity Model Integration (CMMI ) Overview

Match point: Who will win the game, ITIL or CMMI-SVC? NA SEPG 2011 Paper Presentation

CMMI for Development, Version 1.3

CMMI - The AGILE Way By Hitesh Sanghavi

Software Quality Management

Software Process Maturity Model Study

Plan-Driven Methodologies

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

Aligning CMMI & ITIL. Where Am I and Which Way Do I Go? cognence, inc.

CMMI for Development, Version 1.3

The Design and Improvement of a Software Project Management System Based on CMMI

Project Management. 06 Requirements Management. IT M a t u r i t y. S e r v i c e s

An Integrated Model of ISO 9001:2000 and CMMI for ISO Registered Organizations

Interpreting Capability Maturity Model Integration (CMMI ) for Service Organizations a Systems Engineering and Integration Services Example

Software and Systems Engineering. Software and Systems Engineering Process Improvement at Oerlikon Aerospace

Synergism of the CMMI Development and Services Constellations in a Hybrid Organization

CMMi and Application Outsourcing

Using the Software CMM in Small Projects and Small Organizations

wibas Team CMMI-ITIL IT Maturity S e r v i c e s

Interpretation and lesson learned from High Maturity Implementation of CMMI-SVC

ICTEC. IT Services Issues HELSINKI UNIVERSITY OF TECHNOLOGY 2007 Kari Hiekkanen

Measurement Strategies in the CMMI

CMMI-Services Visao Geral & CMMI v1.3 Plans

CMMI for Acquisition, Version 1.3

ADOPTION AND UP GRADATION OF CMMI: PROSPECT OF SOFTWARE INDUSTRY OF BANGLADESH. A Thesis

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers

The purpose of Capacity and Availability Management (CAM) is to plan and monitor the effective provision of resources to support service requirements.

Making Sense of Process Improvement Programs and Appraisals

Software Project Management and Support - Practical Support for CMMI -SW Project Documentation: Using IEEE Software Engineering Standards

Lecture 8 About Quality and Quality Management Systems

MTAT Software Engineering Management

The Advantages of ISO 9001 Certification

Making Process Improvement Work

How To Understand And Understand The Cmm

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects

Comparing Scrum And CMMI

Reaching CMM Levels 2 and 3 with the Rational Unified Process

ORACLE NAIO Excellence combined with Quality A CMMI Case study

Implementation of Multiple Quality Frameworks An Analysis

CMMI: Adapting to SEI's New Integrated CMM

EASPI EASPI. The Integrated CMMI-based Improvement Framework for Test and Evaluation. Jeffrey L. Dutton Principal Consultant

Sustainable Software Development in Agile and CMMI: Apply Lessons Learned today

Foredragfor Den Norske Dataforening, den

A SURVEY OF ARTIFICIAL INTELLIGENCE TECHNIQUES FOR CAPABILITY MATURITY MODEL INTEGRATION (CMMI)

Exploring CMMI-ISO ISO 9001:2000 Synergy when Developing a Process Improvement Strategy

CMMI 100 Success Secrets

THE ROLE OF SOFTWARE PROCESS IMPROVEMENT INTO TOTAL QUALITY MANAGEMENT: AN INDUSTRIAL EXPERIENCE

Software Process Improvement CMM

CMMI meets ITIL. Dr. Ute Streubel

Using Lean Six Sigma to Accelerate

CONTENTS. Preface. Acknowledgements. 1. Introduction and Overview 1 Introduction 1 Whatis the CMMI"? 2 What the CMMI* is Not 3 What are Standards?

Process Improvement -CMMI. Xin Feng

Software Development as a Service. Project vs Service Orientations

Software Process Improvement

Capability Maturity Model Integrated (CMMI)

Quantitative Project Management Framework via Integrating

Selecting a Development Process. Agenda

LUXOFT ADVANTAGES. International Quality Standards

The Configuration Management process area involves the following:

Fundamentals of Measurements

"Demystifying the SEI CMMI

Software Process Improvement Framework Based on CMMI Continuous Model Using QFD

SEI Level 2, 3, 4, & 5 1 Work Breakdown Structure (WBS)

Realizing CMMI using Enterprise Architect and UML for Process Improvement

Software Configuration Management. Wingsze Seaman COMP250SA February 27, 2008

Transcription:

Process Improvement From the Software Engineering Institute: The Software Capability Maturity Model (SW-CMM, CMMI) (Especially CMMI V1.1 Tutorial) The Personal Software Process (PSP) (Also see The Team Software Process (TSP) )

Objectives Review some of the driving forces and concepts behind process improvement Focus on the SEI Capability Maturity Model Integrated (CMMI) Look at how CMMI presents process areas Motivate the use of the SEI, PSP, TSP, and CMMI as a reference for quality system definition

Review: Quality Systems Frameworks

What is a Quality System? An organization uses quality systems to control and improve the effectiveness of the processes used to deliver a quality product or service A Quality System is a set of formal and informal practices and processes that focus on... Customer needs Leadership vision Employee involvement Continual improvement Informed decision making based on real-time data Mutually beneficial relationships with external business partners... to achieve organizational outcomes [Adapted from US Food and Drug Administration Staff Manual Guide 2020 http://www.fda.gov/smg/vol3/2000/smg_2020.pdf]

Some Major Quality Frameworks (1 of 3) ISO 9000 Family of Standards A general international standard for organizational quality systems Specializations for specific types of products and services (including software) Oriented towards assessment and certification Malcolm Baldrige National Quality Award Developed by the US Department of Commerce to encourage and recognize excellence Created in 1987 in response to foreign competition eroding US productivity growth by having better product and process quality

Some Major Quality Frameworks (2 of 3) Total Quality Management (TQM) A philosophy and practices for improving quality Build an organization-wide quality culture, focusing on providing customers with the products and services that satisfy their needs Do it right the first time; eliminate defects and waste Lean Enable quick responses to customer demands A focus on delivering value to the customer, eliminating waste, setting and attaining performance goals, achieving cadence and synchronization, agile project management, integrated processes, technologies, and knowledge Six Sigma Statistical control and performance prediction with stable processes

Some Major Quality Frameworks (3 of 3) Information Technology Infrastructure Library (ITIL) Concepts and practices for managing IT services, IT development, and IT operations Software Engineering Institute Capability Maturity Models (SEI CMM) Created in response to US Department of Defense needs to improve software development capabilities for large, complex defense and other government systems Originally a software-specific model for assessing the maturity of software development practices Oriented towards both internal self-assessment and improvement and external certification assessment CMM-Integrated includes software engineering, systems engineering, outsourcing (acquisition), services, etc. CMMI v1.2 refactored into CMMI for Development, CMMI for Services, and CMMI for Acquisition

All the Frameworks Define Principles That Embrace a Philosophy and Practice of Quality

Overlapping Attributes of Improvement Approaches Jeffrey L. Dutton, An Integrated Framework for Performance Excellence, CrossTalk, The Journal of Defense Software Engineering, January/February 2010, pp. 6-9, http://www.stsc.hill.af.mil/crosstalk/2010/01/1001dutton.html (accessed 2010-02-03)

Four Complementary Approaches in an Integrated Framework Jeffrey L. Dutton, An Integrated Framework for Performance Excellence, CrossTalk, The Journal of Defense Software Engineering, January/February 2010, pp. 6-9, http://www.stsc.hill.af.mil/crosstalk/2010/01/1001dutton.html (accessed 2010-02-03)

Focus on SEI Capability Maturity Model for Development

Underlying Premise of Process Improvement The quality of a product is largely determined by the quality of the process that is used to develop and maintain it. Based on Total Quality Management principles as taught by Shewhart, Juran, Deming and Humphrey.

Why Process Improvement? Good software engineering practice increases the chance of delivering quality software products on time and on budget So, improving the software process improves the software product and the business Stable, repeatable software processes reduce the variability and risk in development

Reduced variability Process Capability & Performance Prediction Improved productivity As Maturity increases, the difference between targeted results and actual results decreases Higher maturity a better way to run a business

CMM, TSP, and PSP PSP: Personal Software Process TSP: Team Software Process CMM: Capability Maturity Model

Personal Software Process (PSP) Watts S. Humphrey, Introduction to the Personal Software Process, Addison-Wesley, 1997 See also:cmu/sei-2000-tr-022, ESC-TR-2000-022

PSP: Evolutionary Improvement Personal Quality Management Cyclic Personal Process PSP2 Code reviews Design reviews PSP3 Cyclic development PSP2.1 Design templates Personal Planning Process PSP1 Size estimating Test report PSP1.1 Task planning Schedule planning Baseline Personal Process PSP0 PSP0.1 Current process Coding standard Time recording Size measurement Defect recording Process improvement proposal Defect type standard

PSP Process Structure

Capability Maturity Model for Software

Immature Versus Mature Organizations Immature Mature Software Process, though specified, is not followed/enforced Reactionary (Fire-Fighting) Software processes are generally improvised by practitioners and managers during the course of the project Schedules and budgets keep constantly changing No objective basis for judging product quality or for solving product or process problems Software process is accurately communicated to staff and work activities are carried out according to the planned process Process improvements are developed through controlled pilottests and/or benefit analysis Schedules and budgets are based on historical performance. There is an objective, quantitative basis for judging product quality and analyzing problems with the product and process

CMMI in a Nutshell A CMMI model provides a structured view of process improvement across an organization CMMI can help Set process improvement goals and priorities Provide guidance for quality processes Provide a yardstick for appraising current practices 21

Five Levels of Software Process Maturity (Staged Representation) A maturity level is a welldefined evolutionary plateau towards achieving a mature process Each level has a set of goals Achieving each level Establishes a different component in the software process Increases the process capability of the organization

The Maturity Levels (Staged Representation) Level 1 Initial Level Ad Hoc processes, ineffective planning and reaction-driven systems Crisis abandon planned procedures & revert to coding and testing Schedules, Budget, Functionality, Product Quality: Unpredictable Software Process Capability: Unpredictable Level 2 Repeatable Level Basic Software Management controls Planning/Managing new projects is based on successes with similar projects Realistic project commitments based on empirical knowledge Project managers track software costs, schedules and functionality Project standards are defined and followed Software Process Capability: Disciplined Level 3 Defined Level Standard Process for developing and maintaining software is documented and used Organization-wide training program: to ensure that staff and managers have knowledge and skills to fulfill their assigned roles Projects tailor the Standard Process to develop their own well-defined process for their unique project requirements Schedules, Budget, Functionality, Product Quality: Under Control and Tracked Software Process Capability: Standard and Consistent (continued)

The Maturity Levels (Staged) (continued) Level 4 Managed Level Quantitative quality goals for products and processes Organizational Measurement Program for important software process activities Variation in process performance is controlled to be within acceptable range Software Process Capability: Predictable Level 5 Optimizing Level Focus on Continuous Process Improvement Identify weakness and strengthen the process proactively Perform cost benefit analyses of new technologies and proposed changes to the organization s software process Analyze defects to determine their causes evaluate the software process accordingly Software Process Capability: Continuous Improving

Key Process Areas by Maturity Level Achieving each level... Establishes a different component in the software process Increases the process capability of the organization

Process Areas

Process Areas Process Areas (PAs) are a cluster of related practices. They are the major building blocks in establishing process capability. Example PA: Requirements Management 27

Organization of Process Areas Category Project Management Support Engineering Process Management Process Area Project Planning Project Monitoring and Control Supplier Agreement Management Integrated Project Management Integrated Supplier Management Integrated Teaming Risk Management Quantitative Project Management Configuration Management Process and Product Quality Assurance Measurement and Analysis Causal Analysis and Resolution Decision Analysis and Resolution Organizational Environment for Integration Requirements Management Requirements Development Technical Solution Product Integration Verification Validation Organizational Process Focus Organizational Process Definition Organizational Training Organizational Process Performance Organizational Innovation and Deployment

Project Management Support Organization of Process Areas Category Process Area Metrics/Quality Practices Project Planning Project Monitoring and Control Supplier Agreement Management Integrated Project Management Integrated Supplier Management Integrated Teaming Risk Management Quantitative Project Management Configuration Management Process and Product Quality Assurance Measurement and Analysis Causal Analysis and Resolution Decision Analysis and Resolution Organizational Environment for Integration Project Mgmt Metrics Activity Metrics Basic Quality Tools Maintenance Metrics Basic Quality Tools GQM Measurement Fundamentals Defect Prevention Techniques Engineering Process Management Requirements Management Requirements Development Technical Solution Product Integration Verification Validation Organizational Process Focus Organizational Process Definition Organizational Training Organizational Process Performance Organizational Innovation and Deployment Requirements Volatility Defect Removal Metrics Reliability Engineering Defect Prevention Techniques Basic Quality Tools In-Process Metrics Project Mgmt Metrics Basic Quality Tools

Example: Requirements Management Process Area Note: The CMM guides you on what needs to be done, but does not tell you how to do it

REQM Process Area - Capability Levels 1 & 2 Requirements Management Specific practices (CL1 - base ) SP1.1-1: Obtain an Understanding of Requirements SP1.3-1: Manage Requirements Changes SP1.5-1: Identify Inconsistencies Between Project Work and Requirements Specific practices (CL2 - advanced ) SP1.2-2: Obtain Commitment to Requirements SP1.4-2: Maintain Bi-directional Traceability of Requirements Generic practices (CL1) GP1.1: Perform Base Practices Generic practices (CL2) GP2.1: Establish an Organizational Policy GP2.2: Plan the Process GP2.3: Provide Resources GP2.4: Assign Responsibility GP2.5: Train People GP2.6: Manage Configurations GP2.7: Identify and Involve Relevant Stakeholders GP2.8: Monitor and Control the Process GP2.9: Objectively Evaluate Adherence GP2.10: Review Status with Higher Level Management

REQM - Capability Level 3 Requirements Management Specific practices (CL1 & CL2) SP1.1-1: Obtain an Understanding of Requirements SP1.2-2: Obtain Commitment to Requirements SP1.3-1: Manage Requirements Changes SP1.4-2: Maintain Bi-directional Traceability of Requirements SP1.5-1: Identify Inconsistencies Between Project Work and Requirements Specific practices (CL3) CL-2 Note that much of the capability for Requirements Management was established at maturity levels 1 and 2 Generic practices (CL1 & CL2) GP1.1: Perform Base Practices GP2.1: Establish an Organizational Policy GP2.2: Plan the Process GP2.3: Provide Resources GP2.4: Assign Responsibility GP2.5: Train People GP2.6: Manage Configurations GP2.7: Identify and Involve Relevant Stakeholders GP2.8: Monitor and Control the Process GP2.9: Objectively Evaluate Adherence GP2.10: Review Status w/higher Level Management Generic practices (CL3) All the CL1 & CL2 Specific Practices CL-3 All the CL1 & CL2 Generic Practices plus(+): GP3.1: Establish a Defined Process GP3.2: Collect Improvement Information

REQM - Capability Levels 4 & 5 Requirements Management Specific practices (CL4) All the CL1 & CL2 Specific Practices Generic practices (CL4) All the CL1 & CL2 & CL3 Generic Practices plus(+): GP4.1: Establish Quantitative Objectives for the Process GP4.2: Stabilize Subprocess Performance Specific practices (CL5) All the CL1 & CL2 Specific Practices Generic practices (CL5) All the CL1 & CL2 & CL3 & CL4 Generic Practices plus(+): GP5.1: Ensure Continuous Process Improvement GP5.2: Correct Root Causes of Problems

Process Area Capability Comparing Model Representations Continuous ML4 ML5 Staged ML2 ML3 ML 1 PA PA PA...for a single process area or a set of process areas...for an established set of process areas across an organization

The Bottom Line 1 Process improvement should be done to help the business not for its own sake. In God we trust, all others bring data. - W. Edwards Deming

The Bottom Line 2 Improvement means different things to different organizations: What are your business goals? How do you measure progress? Improvement is a long-term, strategic effort: What is the expected impact on the bottom line? How will impact be measured?

Categories of Process Improvement Benefits Process improvement benefits fall into one of eight general categories: Improved schedule and budget predictability Improved cycle time Increased productivity Improved quality (as measured by defects) Increased customer satisfaction Improved employee morale Increased return on investment Decreased cost of quality

Over/Under Percentage Improved Schedule and Budget Predictability 140% 0 % -140% Results: Boeing Effort Estimation....................................................................................................... Without Historical Data With Historical Data Variance between + 20% to - 145% Variance between - 20% to + 20% (Mostly Level 1 & 2) (Level 3) (Based on 120 projects in Boeing Information Systems) Reference: John D. Vu. Software Process Improvement Journey:From Level 1 to Level 5. 7th SEPG Conference, San Jose, March 1997.

Avg Working Days Improved Cycle Time Project Cycle Times 750 500 250 0 1991 1992 1993 1994 Year 1995 1996 Req Def Implement Source: Software Engineering Div., Hill AFB, Published in Crosstalk May 1999

Normalized Man-hours Increased Productivity Staff-hours per LOC 1.2 1 0.8 0.6 0.4 0.2 0 A B C D E Release Source: Software Engineering Div., Hill AFB, Published in Crosstalk May 1999

Increased Productivity and Quality

SEI CMMI-DEV Summary Process Areas identify what you do The SEI CMMI provides a rich catalog of process activities that software development organizations might perform Capability Levels identify how well you do it (but not how to do it ) The organization of the SEI CMMI into capability levels Helps an organization assess their ability to implement projects at various levels of technical and managerial complexity Helps an organization plan incremental, focused process improvement The CMMI model should be applied using intelligence, common sense, and professional judgment Driven by organizational goals and needs Quality practices and metrics are an integral part of improving process maturity