capability maturity method (cmm)

43
6. 6. Capability Capability Maturity Method Maturity Method (CMM) (CMM)

Upload: yovela

Post on 31-Jan-2016

66 views

Category:

Documents


0 download

DESCRIPTION

Capability Maturity Method (CMM). WHAT IS THE CMM?. Concept: The application of process management and quality improvement concepts to software development and maintenance Model: A model for organizational improvement Guidelines: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Capability Maturity Method (CMM)

6.6. Capability Maturity Capability Maturity Method (CMM)Method (CMM)

6.6. Capability Maturity Capability Maturity Method (CMM)Method (CMM)

Page 2: Capability Maturity Method (CMM)

WHAT IS THE CMM?WHAT IS THE CMM?

• Concept:Concept: The application of process management and quality improvement concepts to software development and maintenance

• Model:Model: A model for organizational improvement

• Guidelines:Guidelines: A guide for evolving toward a culture of engineering excellence.

• Basis for Measurement:Basis for Measurement: The underlying structure for reliable and consistent software process assessments, software capability evaluations, and interim profiles

Page 3: Capability Maturity Method (CMM)

• The CMM is an application of Total Quality Management principles to software engineering.

• Emphasis should be on customer satisfaction.

• The result should be higher quality software products produced by more competitive companies.

OBJECTIVES OF CMMOBJECTIVES OF CMM

To make CMMThe Management Culture of The Company

Trusted By Customers

To make CMMThe Management Culture of The Company

Trusted By Customers

Page 4: Capability Maturity Method (CMM)

MATURATY LEVELS FOR PROCESS IMPROVEMENT

MATURATY LEVELS FOR PROCESS IMPROVEMENT

• Based on Continuous Process Improvement: Based on many small, evolutionary steps rather than revolutionary innovations.

• Plateau: A maturity level is a well-defined evolutionary plateau toward achieving a mature software process.

• Foundation: Each maturity level provides a layer in the foundation for continuous process improvement.

• Priority Order: The levels also help an organization prioritize its improvement efforts.

Page 5: Capability Maturity Method (CMM)

Organization lacks sound management practices

Good software engineering practices are undermined by ineffective planning and reaction-driven commitment systems

LEVEL 1 -- INITIALLEVEL 1 -- INITIAL

Activities Performed by the Organization

Activities Performed by the Projects

Resulting Process Capability

During a crisis, projects abandon planned procedures

Even a strong software engineering process cannot overcome the instability created by the absence of sound management practices

Software Process Capability is unpredictable because the process is constantly changed or modified as the work progresses (i.e., the process is ad hoc)

Few stable processes in evidence

Page 6: Capability Maturity Method (CMM)

CMM LEVEL 1CMM LEVEL 1

ActivityActivity ResultsResultsto produceto produce

Just do it.Just do it.

Page 7: Capability Maturity Method (CMM)

Establishes software project management policies and procedures

Institutionalizes effective project management processes which allow new projects to repeat successful practices developed on earlier projects, although the specific project’s processes may differ

LEVEL 2 -- REPEATABLE LEVEL 2 -- REPEATABLE

Activities Performed by the Organization

Activities Performed by the Projects

Resulting Process Capability

Make realistic project commitments based on previous project results and current project requirements

Track software costs, schedules, and functionality to identify problems meeting commitments

Control requirements and work products and assure project standards are followed

Software Process Capability is disciplined because project planning and tracking is stable and earlier successes can be repeated

Project process is under the effective control of a project management system, following realistic plans

Page 8: Capability Maturity Method (CMM)

CMM LEVEL 2CMM LEVEL 2

Activity Results

PreparationPreparation

EvaluationEvaluation

to produce

input to

to improve

Think before you act, and think after you act, Think before you act, and think after you act, just to make sure you did it right.just to make sure you did it right.

Page 9: Capability Maturity Method (CMM)

Documents the organization’s standard process for developing and maintaining software

Integrates project management and software engineering processes; exploits effective software engineering practices

Provides process support (SEPG) and training program to ensure skills development

Activities Performed by the Organization

Activities Performed by the Projects

Resulting Process Capability

Projects tailor the organization’s standard software process to develop their own defined software process for the project

Because the software process is well defined, management has good insight into technical progress on all projects

Software Process Capability is standard and consistent because both software engineering and management activities are stable and repeatable

Cost, schedule and functionality are under control, and software quality is tracked

LEVEL 3 -- DEFINEDLEVEL 3 -- DEFINED

Page 10: Capability Maturity Method (CMM)

CMM LEVEL 3CMM LEVEL 3

Activity Results

Preparation

Evaluation

to produce

input to

to improve

StandardsStandards

input to

input to

Use your lessons learned.Use your lessons learned.

Page 11: Capability Maturity Method (CMM)

Sets quantitative quality goals for both software products and processes

Measures productivity and quality for important software process activities across all projects as part of an organizational measurement program

Provides a foundation for quantitative evaluation

LEVEL 4 -- MANAGED LEVEL 4 -- MANAGEDActivities Performed by the Organization

Activities Performed by the Projects

Resulting Process Capability

Projects achieve control over their products and processes by narrowing the variation in their process performance to fall within acceptable quantitative boundaries

The risks involved in moving up the learning curve of a new application domain are known and carefully managed

Software Process Capability is predictable because the process is measured and operates within measurable limits

Allows for predictive trends in process and quality within quantitative bounds and allows for corrective action when limits are exceeded

Page 12: Capability Maturity Method (CMM)

CMM LEVEL 4CMM LEVEL 4

Activity Results

Preparation

Evaluation

to produce

input to

to improve

Standard

input to

input to

to forecast

Predict the results you need and expect and then Predict the results you need and expect and then create opportunities to get those resultscreate opportunities to get those results

Page 13: Capability Maturity Method (CMM)

Entire organization is focused on continuous process improvement with the goal of defect prevention

Data is used for cost-benefit analysis of new technology and new process changes

Innovations in software engineering practices are transferred to the entire organization

LEVEL 5 -- OPTIMIZING LEVEL 5 -- OPTIMIZINGActivities Performed by the Organization

Activities Performed by the Projects

Resulting Process Capability

Project teams analyze defects and determine their causes

Project teams evaluate processes to prevent known types of defects from recurring

Software Process Capability is continuously improving because the organization continuously improves the range of capability and process performance of projects

Improvement occurs both by incremental advancement of existing process and by innovations using new technologies and methods

Page 14: Capability Maturity Method (CMM)

CMM LEVEL 5CMM LEVEL 5

Activity Results

Preparation

Evaluation

to produce

input to

to improve

Standard

input to

input to

to forecast

to improve

Create lessons learned, and use lessons learned to Create lessons learned, and use lessons learned to create create moremore lessons learned, and use lessons learned, and use moremore lessons lessons

learned to create learned to create even more even more lessons learned, and use lessons learned, and use even more even more lessons learned to create... etc. lessons learned to create... etc.

Page 15: Capability Maturity Method (CMM)

CMM FIVE LEVELSCMM FIVE LEVELS

1. InitialUnpredictable andPoorly controlled

1. 1. InitialInitialUnpredictable andUnpredictable andPoorly controlledPoorly controlled

DisciplinedProcess

1. InitialUnpredictable andPoorly controlled

2. 2. RepeatableRepeatableCan repeat previouslyCan repeat previouslyMastered tasksMastered tasks

1. InitialUnpredictable andPoorly controlled

Standard,ConsistentProcess

3. 3. DefinedDefinedProcess characterized,Process characterized,fairly well understood fairly well understood

1. InitialUnpredictable andPoorly controlled

4. 4. ManagedManagedProcess measuredProcess measuredand controlledand controlled

PredictableProcess

1. InitialUnpredictable andPoorly controlled

5. 5. OptimizationOptimizationFocus on process Focus on process improvementimprovement

ContinuouslyImprovingProcess

Process Maturity

Process Capability

Process Performance

Low

High

Project Management

Integrated Engineering Process

Product and Process Quality

Managing Change

Page 16: Capability Maturity Method (CMM)

TRANSITION TO A HIGHER LEVELTRANSITION TO A HIGHER LEVEL

PRODUCTIVITY

CurrentCurrentLevel 2Level 2

Target Target Level 3Level 3

TransitionTransitionStateState

0

1

2

3

Page 17: Capability Maturity Method (CMM)

BENEFITS OF CMM (I)BENEFITS OF CMM (I)

The CMM models improve upon the best practices of previous models in many important ways. CMM best practices enable organizations to do the following:

• More explicitly link management and engineering activities to business objectives

• Expand the scope of and visibility into the product life cycle and engineering activities to ensure that the product or service meets customer expectations

• Incorporate lessons learned from additional areas of best practice (e.g., measurement, risk management, and supplier management)

• Implement more robust high-maturity practices

• Address additional organizational functions critical to its products and services

• More fully comply with relevant ISO standards

Page 18: Capability Maturity Method (CMM)

BENEFITS OF CMM (II)BENEFITS OF CMM (II)

• Win more projects due to customers’ trust

• Risk mitigation and reduced

• Make large international projects possible

• Make projects success possible when team members dynamically change.

Page 19: Capability Maturity Method (CMM)

BENEFITS OF CMM (III)BENEFITS OF CMM (III)

High cost: training, additional employees for SEPG, writing documents and synchronizing practice and documents

1 2 3 4 5

Cost

CMMLevel

1 2 3 4 5

Succeeded Projects

CMMLevel

Page 20: Capability Maturity Method (CMM)

BENEFITS OF CMM (IV)BENEFITS OF CMM (IV)

1 2 3 4 5

Profits

CMMLevel

Page 21: Capability Maturity Method (CMM)

Software Configuration Management

Software Configuration Management

Software Quality

Assurance

Software Quality

AssuranceRequirements Management

Requirements Management

SoftwareProject

Planning

SoftwareProject

Planning

Software Subcontract Management

Software Subcontract Management

Software Project Tracking

and Oversight

Software Project Tracking

and Oversight

CMM LEVEL 2 KEY PROCESS AREA

CMM LEVEL 2 KEY PROCESS AREA

L2

Page 22: Capability Maturity Method (CMM)

REQUIREMENT MANAGEMENTREQUIREMENT MANAGEMENT

Purpose

Scope

GoalsTo establish a common understanding between the customer and the software project of the customer’s requirements that will be addressed by the software project

Involves establishing and maintaining an agreement with the customer on the requirements for the software project

Agreement is the basis for estimating, planning, performing, and tracking the project’s software activities

L2

1. System requirements allocated to software are controlled to establish a baseline for software engineering and management use

2. Software plans, products, and activities are kept consistent with the system requirements allocated to software

Page 23: Capability Maturity Method (CMM)

PROJECT PLANNINGPROJECT PLANNING

Purpose

Scope

GoalsTo establish reasonable plans for performing the software engineering and for managing the software project

Involves:o developing estimates for the work to be performedo establishing the necessary commitmentso defining the plan to perform the work

Plan provides the basis for initiating the software effort and managing the work

L2

1. Software estimates are documented for use in planning and tracking the software project.

2. Software project activities and commitments are planned and documented.

3. Affected groups and individuals agree to their commitments related to the software project.

Page 24: Capability Maturity Method (CMM)

PROJECT TRACKING AND OVERSIGHTING

PROJECT TRACKING AND OVERSIGHTING

Purpose

Scope

GoalsTo provide adequate visibility into actual progress so that management can take effective actions when performance deviates significantly from the plan

Involves:o tracking and reviewing software accomplishments and results against documented estimates, commitments, and planso adjusting plans based on actual accomplishments and results

L2

1. Actual results and performances are tracked against the software plans.

2. Corrective actions are taken and managed to closure when actual results deviate significantly from the software plans.

3. Changes to software commitments are agreed to by the affected groups and individuals.

Page 25: Capability Maturity Method (CMM)

QUALITY ASSURANCEQUALITY ASSURANCE

Purpose

Scope

GoalsTo provide management with appropriate visibility into the process being used and the products being built

Involves:o reviewing and auditing the software products and activities to ensure that they comply with the applicable procedures and standardso providing the software project and other appropriate managers with the results of those reviews and audits

L2

1. Software quality assurance activities are planned.

2. Adherence of software products and activities to the applicable standards, procedures, and requirements is verified objectively.

3. Affected groups and individuals are informed of software quality assurance activities and results.

4. Noncompliance issues that cannot be resolved within the software project are addressed by senior management.

Page 26: Capability Maturity Method (CMM)

CONFIGURATION MANAGEMENTCONFIGURATION MANAGEMENT

Purpose

Scope

GoalsTo establish and maintain the integrity of the products of the software project throughout the software life cycle

Involves:o identifying configuration items/unitso systematically controlling changeso maintaining integrity and traceability of the configuration throughout the software life cycle

L2

1. Software configuration management activities are planned.

2. Selected software work products are identified, controlled, and available.

3. Changes to identified software work products are controlled.

4. Affected groups and individuals are informed of the status and content of software baselines.

Page 27: Capability Maturity Method (CMM)

SUBCONTRACT MANAGEMENTSUBCONTRACT MANAGEMENT

Purpose

Scope

GoalsTo select qualified software subcontractors and manage them effectively

Involves:o selecting a software subcontractoro establishing commitments with the subcontractoro tracking and reviewing the subcontractor’s performance and results

L2

1. The prime contractor selects qualified software subcontractors.

2. The prime contractor and the software subcontractor agree to their commitments to each other.

3. The prime contractor and the software subcontractor maintain ongoing communications.

4. The prime contractor tracks the software subcontractor’s actual results and performances against its commitments.

Page 28: Capability Maturity Method (CMM)

PeerReviews

PeerReviews

Inter-group Coordination

Inter-group Coordination

Organization Process Definition

Organization Process Definition

Organization Process

Focus

Organization Process

Focus

Training Program

Training Program

Software Product

Engineering

Software Product

Engineering

Integrated Software

Management

Integrated Software

Management

CMM LEVEL 3 KEY PROCESS AREA

CMM LEVEL 3 KEY PROCESS AREA

L3

Page 29: Capability Maturity Method (CMM)

To establish the organizational responsibility for software process activities that improve the organization’s overall software process capability

ORGANIZATION FOCUSORGANIZATION FOCUS

Purpose

Scope

Goals

Involves:o developing and maintaining an understanding of organization and project software processeso coordinating the activities to assess, develop, maintain, and improve these processes

L3

1. Software process development and improvement activities are coordinated across the organization.

2. The strengths and weaknesses of the software processes used are identified relative to a process standard.

3. Organization-level process development and improvement activities are planned.

Page 30: Capability Maturity Method (CMM)

To develop and maintain a usable set of software process assets that improve process performance and provide a basis for cumulative, long-term benefits

ORGANIZATION PROCESS DEFINITION

ORGANIZATION PROCESS DEFINITION

Purpose

Scope

Goals

Involves developing and maintaining the organization’s standard software process and related process assets

The organization’s standard software process describes the fundamental elements that each project incorporates and tailors to fit the project

L3

1. A standard software process for the organization is developed and maintained.

2. Information related to the use of the organization’s standard software process by the software projects is collected, reviewed, and made available.

Page 31: Capability Maturity Method (CMM)

To integrate the project’s software engineering and management activities into a coherent, defined software process tailored from the organization’s software process assets

INTEGRATED SOFTWARE MANAGEMENT

INTEGRATED SOFTWARE MANAGEMENT

Purpose

Scope

Goals

Involves:o developing the project’s defined software process by tailoring the organization’s standard software processo managing the software project according to this defined software process

L3

1. The project’s defined software process is a tailored version of the organization’s standard software process.

2. The project is planned and managed according to the project’s defined software process.

Page 32: Capability Maturity Method (CMM)

To consistently perform a well-defined engineering process that integrates all the software engineering activities to produce correct, consistent software products effectively and efficiently

SOFTWARE PRODUCT ENGINEERING

SOFTWARE PRODUCT ENGINEERING

Purpose

Scope

Goals

Involves performing the engineering tasks to build and maintain the software using appropriate tools and methods

Includes requirements analysis, design, coding, integration, and testing

L3

1. The software engineering tasks are defined, integrated, and consistently performed to produce the software.

2. Software work products are kept consistent with one another.

Page 33: Capability Maturity Method (CMM)

To establish a means for the software engineering group to participate actively with the other engineering groups so the project is better able to satisfy the customer’s needs effectively and efficiently

INTERGROUP COORDINATIONINTERGROUP COORDINATION

Purpose

Scope

Goals

Involves the disciplined interaction and coordination of the project engineering groups with each other to address system-level requirements, objectives, and plans

L3

1. The customer’s requirements are agreed to by all affected groups.

2. The commitments between the engineering groups are agreed to by the affected groups.

3. The engineering groups identify, track, and resolve inter-group issues.

Page 34: Capability Maturity Method (CMM)

To develop the skills and knowledge of individuals so they can perform their roles effectively and efficiently

TRAINING PROGRAMTRAINING PROGRAM

Purpose

Scope

Goals

Involves:o identifying the training needs of the organization, the projects, and individualso developing and/or procuring training to address these needs

L3

1. Training activities are planned.

2. Training for developing the skills and knowledge needed to perform software management and technical roles is provided.

3. Individuals in the software engineering group and software-related groups receive the training necessary to perform their roles.

Page 35: Capability Maturity Method (CMM)

To remove defects from the software work products early and efficiently before unit test.

To develop a better understanding of the software work products and of defects that might be prevented

PEER REVIEWSPEER REVIEWS

Purpose

Scope

Goals

Involves a methodical examination of work products by the producer’s peers to identify defects and areas where changes are needed

L3

1. Peer review activities are planned.

2. Defects in the software work products are identified and removed.

3. A matrix of review results is generated

Page 36: Capability Maturity Method (CMM)

KEY DIFFERENCES OF LEVEL 1, LEVEL 2 & LEVEL 3

KEY DIFFERENCES OF LEVEL 1, LEVEL 2 & LEVEL 3

• Difference between Level 1 and Level 2:Difference between Level 1 and Level 2:Level 1 is ad hoc and occasionally chaotic; few processes are defined, and success depends on individual effort.

• Level 2:Level 2: Basic project management processes are established to track cost, schedule, and functionality.

• Level 2:Level 2: The necessary process discipline is in place to repeat earlier successes on projects with similar applications.

• Difference between Level 2 and Level 3:Difference between Level 2 and Level 3:Level 3 encompasses integrated and standardized management and engineering activities; projects tailor the organization’s standard software process to meet their needs.

Page 37: Capability Maturity Method (CMM)

CMM KEY PROCESS AREA CHECKLIST

CMM KEY PROCESS AREA CHECKLIST

Critical Questions for each Key Process Area:• Are we satisfied with our current performance? (Yes or No)If not satisfied (No) then answer the following:• What is the negative impact on the achievement of our business goals? (H M L)• What is the urgency for us to take action to address the relevant issues? (H M L)

(Next steps: Assign responsibility for investigating specific actions, then review feasibility)

This checklist is intended to focus senior management attention This checklist is intended to focus senior management attention on key process areas in relation to their business goals.on key process areas in relation to their business goals.

A typical use for this checklist would be as follows:1. Review and gather responses to the checklist as part of a quarterly review meeting

with senior management. 2. Identify the priorities indicated for areas rating the highest impact and highest

urgency. 3. Assign responsibility for investigating specific actions to address issues in those

areas. 4. Review feasibility of actions, and initiate appropriate actions.

Page 38: Capability Maturity Method (CMM)

CHECKLIST 1CHECKLIST 1

Key Process Area Purpose 1 2 3

Requirements Management

Establishing and maintaining a common understanding between the customer and the project of the customer’s requirements that will be addressed.

YesNo

HML

HML

Software Project Planning

Establishing reasonable plans for engineering tasks and for managing the project, developing estimates, establishing commitments, and defining the plans.

YesNo

HML

HML

Software Project Tracking and Oversight

Providing adequate visibility into actual progress so that management can take effective actions when the project’s performance deviates significantly from plan.

YesNo

HML

HML

Software Subcontract Management

Selecting qualified subcontractors and managing them effectively.

YesNo

HML

HML

Software Quality Assurance

Providing management with appropriate visibility through reviews and audits of products and activities to verify that they comply with applicable procedures.

YesNo

HML

HML

Software Configuration Management

Establishing and maintaining the integrity of the products throughout the life cycle, systematically controlling changes to the configuration.

YesNo

HML

HML

Page 39: Capability Maturity Method (CMM)

CHECKLIST 2 & 3CHECKLIST 2 & 3Key Process Area Purpose 1 2 3

Organization Process Focus

Establishing and maintaining a common understanding between the customer and the project of the customer’s requirements that will be addressed.

YesNo

HML

HML

Organization Process Definition

Developing and maintaining process-related documentation and data that improve performance across projects and provide a basis for cumulative long-term benefits to the organization.

YesNo

HML

HML

Training Program Developing the skills and knowledge of individuals so that they can perform their roles effectively and efficiently, identifying and procuring needed training.

YesNo

HML

HML

Key Process Area Purpose 1 2 3

Integrated Software Management

Integrating the engineering and management activities into a coherent, defined process, and managing the project using this defined process.

YesNo

HML

HML

Software Product Engineering

Consistently performing a well-defined engineering process that integrates all activities to produce correct, consistent products, effectively and efficiently.

YesNo

HML

HML

Intergroup Coordination

Establishing participation with other engineering groups to establish requirements, plan and manage technical working interfaces, conduct regular reviews and technical interchanges.

YesNo

HML

HML

Peer Reviews Removing defects from work products early and efficiently, and as a side-effect, to better understand the products and the defects that might be prevented.

YesNo

HML

HML

Page 40: Capability Maturity Method (CMM)

CHECKLIST 4 & 5CHECKLIST 4 & 5

Key Process Area Purpose 1 2 3

Quantitative Process Management

Controlling the process performance of the project, identifying the special causes of variation in a measurably stable process, and correcting the circumstances leading to the transient variation.

YesNo

HML

HML

Software Quality Management

Developing a quantitative understanding of the quality of the project’s products and achieving specific quality goals.

YesNo

HML

HML

Key Process Area Purpose 1 2 3

Defect Prevention Identifying causes of defects and preventing them from recurring.

YesNo

HML

HML

Technology Change Management

Identifying beneficial new technologies, tools, methods, processes, and transferring them into the organization in an orderly manner.

YesNo

HML

HML

Process Change Management

Continually improving the processes, incremental improvements, and innovative improvements, and providing them to the entire organization.

YesNo

HML

HML

Page 41: Capability Maturity Method (CMM)

ISSUES WITH CMM (I)ISSUES WITH CMM (I)

• Focus mostly on activities and supporting artifacts associated with a conventional waterfall process: requirements specifications, documented plans, quality assurance audits and inspections and documented processes and procedures.

• It does not address evolving results, (i.e., the software product) and associated engineering artifacts (use-case models, design models, source code, or executable code) that capture the real target product.

• No emphasis on the architecting/design process, assessment process, or deployment process, all of which have proven to be key discriminators for project success.

Page 42: Capability Maturity Method (CMM)

• CMM overemphasizes peer reviews, inspections, and traditional quality assurance “policing” method. These activities rarely uncover the architecturally significant flaws.

• Most organizations define their process based strictly on traceability to the CMM for passing an audit, rather than on a complete assessment framework to measure real improvement along project performance dimensions: estimated time to market, probable cost to complete, and predicted quality product.

• CMM is activity-based, i.e., it does not have an accurate measure of an organization’s current maturity level.

ISSUES WITH CMM (II)ISSUES WITH CMM (II)

Page 43: Capability Maturity Method (CMM)

CMMI

Capability Maturity Method Integration

For details refer to the documents in the subfolder CMMI