structuring a practical, layered software- development life-cycle using the cmmi

43
PM(CMMI)-007.000 Slide 1 Structuring a Practical, Layered Software-Development Life-Cycle using the CMMI Gary P. Cort, Ph.D. Vice President, Software Quality Corinne A. Cort, Ph.D. Director, Global Learning and Talent Management Research In Motion Limited February 2009

Upload: vijaybijaj

Post on 15-Jan-2015

1.706 views

Category:

Education


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 1

Structuring a Practical, Layered Software-Development Life-Cycle

using the CMMI

Gary P. Cort, Ph.D.Vice President, Software Quality

Corinne A. Cort, Ph.D.Director, Global Learning and

Talent Management

Research In Motion LimitedFebruary 2009

Page 2: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 2

Introduction

Page 3: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 3

What is the CMMI?The Capability Maturity Model Integration (CMMI) is a The Capability Maturity Model Integration (CMMI) is a

flexible, processflexible, process--based set of criteria for characterizing based set of criteria for characterizing the activities and culture of a technical organization tothe activities and culture of a technical organization toUnderstand strengths and weaknessesUnderstand strengths and weaknessesPredict performancePredict performanceBenchmark against other organizationsBenchmark against other organizationsPlan and prioritize process improvementsPlan and prioritize process improvementsImprove competitivenessImprove competitiveness

The CMMI The CMMI is not a process or a collection of best a process or a collection of best practices.practices.

Page 4: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 4

Foundation Principles

PEOPLE

PROCESSTECHNOLOGY

Focused on robust processesFocused on robust processes

Based on industry experience, Based on industry experience, notnot ivoryivory--tower theorytower theory

Emphasizes technical Emphasizes technical excellence within an enabling excellence within an enabling cultureculture

Is not prescriptiveIs not prescriptive

Supports incremental Supports incremental implementationimplementation

Maturity levelsCapability levels

Page 5: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 5

BenefitsBenefits

Project Execution Time

0.00

0.20

0.40

0.60

0.801.00

1.20

1.40

1.60

1 2 3 4 5

CMM Level

Nor

mal

ized

Tim

e to

Mar

ket

Maturity Level

Productivity Growth

0

10

20

30

40

1 2 3 4 5

CMM Level

Pro

duct

ivity

Fac

tor

Maturity Level

Resource Utilization

0.00

0.20

0.40

0.60

0.80

1.00

1.20

1.40

1 2 3 4 5

CMM Level

Nor

mal

ized

Effo

rt

0.00

0.20

0.40

0.60

0.80

1.00

1.20

1.40

Nor

mal

ized

Sta

ff

Maturity Level

Defect Experience

0.00

0.20

0.40

0.60

0.80

1.00

1.20

1 2 3 4 5

CMM Level

Tota

l Def

ects

0.00

0.20

0.40

0.60

0.80

1.00

1.20

Shi

pped

Def

ects

Maturity Level

Experience (>900 High Tech Organizations)

Page 6: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 6

Comparison with CMM for Software

CMM for Software CMMI

Software Engineering only Software-, Hardware-, or System-Engineering

1 Engineering KPA 6 Engineering PAs

5 Maturity Levels 5 Maturity Levels or6 Capability Levels

15 Key Process Areas (KPAs) 22 Process Areas (PAs)

4 Common Features 17 Generic Practices

Goal/Practice Mapping: many to many (overlapping)

Goal/Practice Mapping: one to many (non-overlapping)

Page 7: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 7

The Fit with other Standards

CMMI

Six Sigma MBNQA

ITILCOBIT

ISO 9001

Best PracticesBest Practices

Process Management

FoundationElements

Business Results

Org Responsibility

Measurement

SPC

Measurement

Engineering& Process Mgt

ProcessManagement

ResourceManagement

Process Management

Page 8: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 8

The CMMI Product SuiteThe CMMI ModelsThe CMMI Models

CMMI for Development (Hardware, software & systems engineering)CMMI for AcquisitionCMMI for Services

Standard CMMI Appraisal Methodology for Process Standard CMMI Appraisal Methodology for Process Improvement (SCAMPI)Improvement (SCAMPI)

SCAMPI A – high fidelity – results in ratingSCAMPI B – medium fidelity – no rating producedSCAMPI C – low fidelity – no rating produced

CMMI TrainingCMMI TrainingIntroduction to CMMIIntermediate Concepts of the CMMIInstructor TrainingSCAMPI Lead Appraiser TrainingSCAMPI B&C Team Lead Training

Page 9: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 9

CMMI Technical Overview

Page 10: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 10

The Capability Maturity Model Integration (CMMI)

Managed 2

Disciplined processManagement excellence

Defined 3

Standard, consistent processEngineering excellence

Quantitatively Managed - 4

Predictable processMeasurement excellence

Optimizing 5

Continuously improving process

Initial 1

ChaosProcess churn

Performed 1

Incomplete 0

Process adequate to perform work

Process not adequate to perform work

Page 11: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 11

Process AreasCategory

ProjectManagement

Engineering

Support

ProcessManagement

Requirements ManagementRequirements DevelopmentTechnical SolutionProduct IntegrationVerificationValidation

Configuration ManagementProcess and Product Quality AssuranceMeasurement and AnalysisDecision Analysis and Resolution Causal Analysis and Resolution

Project PlanningProject Monitoring and ControlSupplier Agreement ManagementIntegrated Project ManagementRisk ManagementQuantitative Project Management

Organizational Process FocusOrganizational Process DefinitionOrganizational TrainingOrganizational Process PerformanceOrganizational Innovation and Deployment

Key Elements: Process Areas

Page 12: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 12

CMMI Architecture

Related Process Areas

Introductory Notes

Purpose Statement

Typical WorkProducts

Generic PracticeElaborations

SpecificPractices

(SP) GenericPractices

(GP)

Expected InformativeRequiredLegend

Process Area (PA)

Specific Goals (SG)

Generic Goals (GG)

Subpractices

Subpractices

Page 13: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 13

CMMI Architecture

StagedRepresentation

ContinuousRepresentation

SpecificGoals

Capability Level

GenericPractices

SpecificPractices

GenericGoals

Process Area

SpecificGoals

Maturity Level

GenericPractices

SpecificPractices

GenericGoals

Process Area

Page 14: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 14

Optimal Progression: Staged RepresentationOptimal Progression: Staged Representation

Organizational Innovation and DeploymentCausal Analysis and Resolution

5 Optimizing

4 Quantitatively Managed

3 Defined

2 Managed

ContinuousProcess Improvement

QuantitativeManagement

ProcessStandardization

BasicProjectManagement

Organizational Process PerformanceQuantitative Project Management

Requirements DevelopmentTechnical SolutionProduct IntegrationVerificationValidationOrganizational Process FocusOrganizational Process DefinitionOrganizational Training Integrated Project ManagementRisk ManagementDecision Analysis and Resolution

Requirements Management Project PlanningProject Monitoring and ControlSupplier Agreement ManagementMeasurement and AnalysisProcess and Product Quality AssuranceConfiguration Management

1 Incomplete

Process AreasMaturity Level Focus

RiskRework

QualityProductivity

Page 15: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 15

Institutionalization: The Cultural DimensionA fundamental premise of the CMMI is that the A fundamental premise of the CMMI is that the effectiveness of your processes is largely determined by effectiveness of your processes is largely determined by the culture in which they operatethe culture in which they operateOnce the technical details of a process are set, Once the technical details of a process are set, performance can only be increased by enhancing the performance can only be increased by enhancing the effectiveness of the underlying cultureeffectiveness of the underlying cultureInstitutionalizationInstitutionalization is the process of bringing the culture is the process of bringing the culture to successively higher levels of effectivenessto successively higher levels of effectivenessThe CMMI implements a mechanism for objectively The CMMI implements a mechanism for objectively determining the level of institutionalization of a processdetermining the level of institutionalization of a processMore than 70% of the model is dedicated to More than 70% of the model is dedicated to institutionalization activities at the processinstitutionalization activities at the process--area levelarea level

Page 16: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 16

Capability Level Generic PracticesGeneric Goals

CL 1

CL 2

CL 3

CL 4

CL 5

GG1: Achieve Specific Goals GP 1.1: Perform Specific Practices

GG4: Institutionalizea Quantitatively Managed Process

GP 4.1: Establish Quantitative Objectives for the ProcessGP 4.2: Stabilize Subprocess Performance

GG5: Institutionalizean Optimizing Process

GP 5.1: Ensure Continuous Process ImprovementGP 5.2: Correct Root Causes of Problems

GG3: Institutionalizea Defined Process

GP 3.1: Establish a Defined ProcessGP 3.2: Collect Improvement Information

GG2: Institutionalize a Managed Process

GP 2.1: Establish an Organizational PolicyGP 2.2: Plan the ProcessGP 2.3: Provide ResourcesGP 2.4: Assign ResponsibilityGP 2.5: Train PeopleGP 2.6: Manage ConfigurationsGP 2.7: Identify and Involve Relevant StakeholdersGP 2.8: Monitor and Control the ProcessGP 2.9: Objectively Evaluate AdherenceGP 2.10: Review Status with Higher Level Management

ML 2

Institutionalization and Generic Practices

ML 3ML 4ML 5

Perform the project-specific work

Institute basic controls and coordination at the project level

Standardize at the organization level

Employ SPC to stabilize performance

Employ SPC to continuously improve

Page 17: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 17

Building a Better Life Cycle:Layer 1 – The Foundation SDLC

Page 18: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 18

Attributes of an Effective Life-CycleSequences the work Sequences the work –– first things firstfirst things first

Major technical activities - phasesDetailed tasks - milestones

Leverages best practicesLeverages best practicesIntegrates effective work-processesFocuses on deliverables

Promotes bidirectional managementPromotes bidirectional management--visibilityvisibilityCommunicationControl

Facilitates staged evaluation of project viabilityFacilitates staged evaluation of project viability

Page 19: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 19

The CMMI Layered Life Cycles

Foundation SDLCEngineering &

Project Management

Process-Improvement Life -Cycle Infrastructure Life -Cycle

Page 20: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 20

Notes:Notes:

The foundation SDLC focuses on getting the technical work done uThe foundation SDLC focuses on getting the technical work done using sing Engineering and Project Management process areasEngineering and Project Management process areas

It maps to virtually any life cycle formalismIt maps to virtually any life cycle formalism

It requires the greatest change in organizational culture to reaIt requires the greatest change in organizational culture to reach Level 2ch Level 2

Architecture Design CodingTechnical SolutionProjectStart

ProjectEnd

Requirements Development

Verification & Validation

Product Integration

Requirements Management

Project PlanningProject Monitoring and Control

Risk Management

Architecture Design CodingTechnical Solution

CMMI and the Foundation SDLC

ProjectStart

ProjectEnd

Requirements Development

Verification & Validation

Product Integration

Requirements Management

Project PlanningProject Monitoring and Control

Risk Management

Page 21: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 21

Increasing Foundation SDLC EffectivenessCapability Level Generic PracticesGeneric Goals

CL 1

CL 2

CL 3

CL 4

CL 5

GG1: Achieve Specific Goals GP 1.1: Perform Specific Practices

GG4: Institutionalizea Quantitatively Managed Process

GP 4.1: Establish Quantitative Objectives for the ProcessGP 4.2: Stabilize Subprocess Performance

GG5: Institutionalizean Optimizing Process

GP 5.1: Ensure Continuous Process ImprovementGP 5.2: Correct Root Causes of Problems

GG3: Institutionalizea Defined Process

GP 3.1: Establish a Defined ProcessGP 3.2: Collect Improvement Information

GG2: Institutionalize a Managed Process

GP 2.1: Establish an Organizational PolicyGP 2.2: Plan the ProcessGP 2.3: Provide ResourcesGP 2.4: Assign ResponsibilityGP 2.5: Train PeopleGP 2.6: Manage ConfigurationsGP 2.7: Identify and Involve Relevant StakeholdersGP 2.8: Monitor and Control the ProcessGP 2.9: Objectively Evaluate AdherenceGP 2.10: Review Status with Higher Level Management

ML 2ML 3ML 4ML 5

Rely on heroes

Institute basic, reactive controls and coordination at the project level

Drive down rework

Standardize at the organization level

Employ SPC to stabilize performance

Employ SPC to continuously improve

Page 22: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 22

The Three Faces of the Foundation SDLCCapability Level 0 Capability Level 0 –– Abject ChaosAbject Chaos

Rework >500%Every man for himselfLittle or no system existsVirtually no management support

Capability Level 1 Capability Level 1 –– Channeled ChaosChanneled ChaosRework ~ 300% – 500%Heavy reliance on heroes High level system framework exists at the project level but relies on individual efforts to executeLittle management support

Capability Level 2 Capability Level 2 –– Reactive ExecutionReactive ExecutionRework ~ 100% - 300%System identifies and corrects major problemsSystem exists at the process-area levelStrong management support

Page 23: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 23

What does this look like in the Real World?Capability Level 0Capability Level 0

For developers …For project managers …For project support personnel (CM, Testers, Process Improvement) …

Capability Level 1Capability Level 1For developers …For project managers …For project support personnel (CM, Testers, Process Improvement) …

Capability Level 2Capability Level 2For developers …For project managers …For project support personnel (CM, Testers, Process Improvement) …

Page 24: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 24

Building a Better Life Cycle:Layer 2 – The Process Improvement Life Cycle

Page 25: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 25

The Process FocusThe primary focus of the CMMI is on process The primary focus of the CMMI is on process performance.performance.

Lacking focused, organizationLacking focused, organization--wide efforts to improve wide efforts to improve processes, performance stalls at capability level 2.processes, performance stalls at capability level 2.

The Level 2 culture and infrastructure is not capable of The Level 2 culture and infrastructure is not capable of sustaining organizationsustaining organization--wide process improvement.wide process improvement.

Special methods, resources, infrastructure, and assets Special methods, resources, infrastructure, and assets are required to enable process improvement.are required to enable process improvement.

The CMMI dedicates capability level 3 to laying the The CMMI dedicates capability level 3 to laying the groundwork for organizationgroundwork for organization--wide process improvement.wide process improvement.

Page 26: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 26

Process Management DriversCost and TimeCost and Time

Process improvement is an extremely expensive propositionSignificant time may be required to implement improvements and deploy them throughout the organizationThese factors drive organizations to use standard processes

Flexibility and PerformanceFlexibility and PerformanceEvery execution domain is different – one size does not fit all, and sometimes fits no oneOptimum performance is obtained from customized processesThese factors drive organizations to use custom processes

CMMI leverages both approaches throughCMMI leverages both approaches throughOrganizational-standard processes to drive consistencyDefined processes to ensure efficiency

Page 27: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 27

Project Environment

Project A Project B Project C

TailoringGuidelines

Life Cycle ModelDescriptions

Organization’sMeasurement

Repository

Organization’s Process

Asset Library

Organization’s Setof Standard Processes

ProcessArchitectures

Organizational Assets

Work EnvironmentStandards

Organization-Standard and Defined Processes

Organizational Process Definition

Project A’sDefined Process

Project B’sDefined Process

Project C’sDefined Process

Page 28: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 28

The Process-Improvement Life-Cycle

Deploy Organizational

Process Assets

Deploy Standard

Processes

IncorporateProcess-Related

Experiences into the

Organizational Process Assets

MonitorImplementation

Deploy Organizational Process Assets and Incorporate Lessons Learned

Selected Improvements

Improvement Initiatives

Strengths &Weaknesses

Process Needs and Objectives

Organizational Process Assets

Appraise the Organization’s

Processes

Identify the Organization’s

Process Improve-

ments

EstablishOrganizational

ProcessNeeds

Determine Process ImprovementOpportunities

Plan and Implement Process Improvements

EstablishProcessActionPlans

ImplementProcessActionPlans

Organizational Process Focus

Page 29: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 29

Evolving the Process Improvement CultureCapability Level Generic PracticesGeneric Goals

CL 1

CL 2

CL 3

CL 4

CL 5

GG1: Achieve Specific Goals GP 1.1: Perform Specific Practices

GG4: Institutionalizea Quantitatively Managed Process

GP 4.1: Establish Quantitative Objectives for the ProcessGP 4.2: Stabilize Subprocess Performance

GG5: Institutionalizean Optimizing Process

GP 5.1: Ensure Continuous Process ImprovementGP 5.2: Correct Root Causes of Problems

GG3: Institutionalizea Defined Process

GP 3.1: Establish a Defined ProcessGP 3.2: Collect Improvement Information

GG2: Institutionalize a Managed Process

GP 2.1: Establish an Organizational PolicyGP 2.2: Plan the ProcessGP 2.3: Provide ResourcesGP 2.4: Assign ResponsibilityGP 2.5: Train PeopleGP 2.6: Manage ConfigurationsGP 2.7: Identify and Involve Relevant StakeholdersGP 2.8: Monitor and Control the ProcessGP 2.9: Objectively Evaluate AdherenceGP 2.10: Review Status with Higher Level Management

ML 2ML 3ML 4ML 5

Individual best efforts

Ad-hoc improvement of Foundation SDLC processes.

Standardization at the organization level for reuse & tailoring

Statistically predictable processes

Continually improving performance

Page 30: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 30

Improvement FocusCapability Level 0 & 1Capability Level 0 & 1

Process exists at individual levelLittle to no improvement focus

Capability Level 2Capability Level 2Process exists at project levelAd-hoc process improvement (e.g. informal lessons learned)Tactical improvements focused on project team for near term

Capability Level 3Capability Level 3Process exists at organization levelFormal process improvement (e.g. based on objective measures)Tactical improvements focused on organization for mid-term

Capability Level 4 & 5Capability Level 4 & 5Process exists at organization levelStatistical process control (e.g. Six Sigma)Strategic improvements focused on organization for near term

Page 31: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 31

Building a Better Life Cycle:Layer 3 – The Infrastructure Life-Cycle

Page 32: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 32

The Importance of InfrastructureThe CMMI provides a number of process areas whose The CMMI provides a number of process areas whose purpose is to facilitate the technical and process purpose is to facilitate the technical and process improvement activitiesimprovement activitiesThese process areas ensure technical excellence and These process areas ensure technical excellence and process consistency in the execution of these critical process consistency in the execution of these critical domainsdomainsBecause of their key role as enablers of the other two lifeBecause of their key role as enablers of the other two life--cycle layers, they comprise a distinct lifecycle layers, they comprise a distinct life--cycle layer of their cycle layer of their ownownAs for the processAs for the process--improvement lifeimprovement life--cycle , as the cycle , as the infrastructure lifeinfrastructure life--cycle transitions to higher capability levels, cycle transitions to higher capability levels, the performance of the Foundation SDLC is enhanced the performance of the Foundation SDLC is enhanced commensuratelycommensurately

Page 33: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 33

Key Infrastructure Process AreasMeasurement & Analysis

Ensures that objective measures used by the Foundation SDLC and the Process-Improvement Life-Cycle are representative, consistent, valid, and repeatable

Process and Product Quality AssuranceEstablishes an audit function to check the fidelity of processes and work products against their specifications

Configuration ManagementProtects key work products from uncontrolled change

Decision Analysis and ResolutionProvides formal support for making complex or high risk decisions

We will focus on the Measurement & Analysis process area

Page 34: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 34

The Basic Measurement Life-Cycle

CollectMeasurement

Data

Measurement Results

Communicate Results

StoreData &Results

Analyze Measurement

Data

Provide Measurement Results

SpecifyMeasures

Measurement Repository

EstablishMeasurement

Objectives

SpecifyAnalysis

Procedures

Measurement Objectives

SpecifyData

Collectionand StorageProcedures

Procedures and Tools

Align Measurement and Analysis Activities

Information need

Measurement & Analysis

Page 35: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 35

Beefing-up the Measurement Life-Cycle

SelectProcesses

EstablishProcess-

PerformanceModels

EstablishQuality andProcess-

PerformanceObjectives

Establish Process-

PerformanceMeasures

Selected Subprocesses from Org. Std. Processes

Organizational Process-Performance Baselines

Process-Performance

Models

EstablishProcess-

PerformanceBaselines

Organization’s Quality and Process-Performance

Objectives

Establish Performance Baselines and Models

MA

Organization’s Set ofStandard Processes

QPM

Organizational Process Performance

Page 36: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 36

Institutionalizing the Measurement Life-CycleCapability Level Generic PracticesGeneric Goals

CL 1

CL 2

CL 3

CL 4

CL 5

GG1: Achieve Specific Goals GP 1.1: Perform Specific Practices

GG4: Institutionalizea Quantitatively Managed Process

GP 4.1: Establish Quantitative Objectives for the ProcessGP 4.2: Stabilize Subprocess Performance

GG5: Institutionalizean Optimizing Process

GP 5.1: Ensure Continuous Process ImprovementGP 5.2: Correct Root Causes of Problems

GG3: Institutionalizea Defined Process

GP 3.1: Establish a Defined ProcessGP 3.2: Collect Improvement Information

GG2: Institutionalize a Managed Process

GP 2.1: Establish an Organizational PolicyGP 2.2: Plan the ProcessGP 2.3: Provide ResourcesGP 2.4: Assign ResponsibilityGP 2.5: Train PeopleGP 2.6: Manage ConfigurationsGP 2.7: Identify and Involve Relevant StakeholdersGP 2.8: Monitor and Control the ProcessGP 2.9: Objectively Evaluate AdherenceGP 2.10: Review Status with Higher Level Management

ML 2ML 3ML 4ML 5

Decisions made on anecdotal information

Some operational measures of Foundation SDLC processes.

Measures are formally defined

Performance measures for process improvement

Models, goals and baselines. Special causes removed

Optimal improvement life cycle. Common causes reduced

Page 37: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 37

Transitioning to Statistical Process ControlOther advanced process areas complete the transition to full

statistical process control (SPC):Quantitative Process Management

The gateway to SPCAnalyzes process performance against the measurement baselines using statistical techniques to identify non-random (special cause) variationEmploys root cause analysis methods to eliminate the special causes

Causal Analysis and ResolutionAnalyzes process performance against the measurement baselines using statistical techniques to identify random (common cause) variationEmploys causal analysis methods to eliminate the special causes

Organizational Innovation and DeploymentReplaces the process improvement life-cycle with a modified version that incorporates SPC methods

Page 38: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 38

Putting it all Together

Page 39: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 39

Foundation SDLC Process Improvement InfrastructureCL

5

4

3

2

1

Project Management (PM & PMC)

Basic Engineering(RD, REQM & VER)

Enhanced Engineering(TS, PI & VAL)

Configuration Management (CM)

Measurement and Analysis (MA)

Organizational Process Development (OPD)

Organizational Process Focus (OPF)

Statistical Process Control I, (OPP, QPM)Statistical Process Control II, (OID, CAR)

Selected Subprocesses (Engineering and/or Project Management

Integrating the Life Cycles

1. Emerging from chaos

2. Focusing on development

3. Preparing to improve

4. Prioritizing improvement

5. Stabilizing key subprocesses

6. Improving continually

Page 40: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 40

Summary

Page 41: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 41

CMMI SummaryCMMI provides a practical, process-centric, industry-proven model for dramatically improving project performanceCMMI integrates effectively with other established standards

CMMI significantly extends the CMM for Software with major upgrades to the model architecture and components

Enhanced engineering process areasStaged and continuous representationsGeneric practices

CMMI supports a layered implementation approach to support the staged introduction of significant life-cycle performance improvements that align with changes in organizational culture.

Foundation SDLCProcess-Improvement Life-CycleInfrastructure Life-Cycle

Page 42: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 42

CMMI Approach to Life Cycle ImplementationFoundation SDLC

Focuses on getting the technical work done at the project levelIncludes Engineering and Project Management process areasGenerally the starting point for most implementations

Process-Improvement Life-CycleFocuses on standardizing and improving the operational processes at the organizational levelIntroduces the concepts of organization-standard processes and definedprocessesProvides the path to high performance infrastructure and statistical process control

Infrastructure Life-CycleFurnishes key capabilities essential to the Foundation and Process-Improvement life-cyclesTightly interwoven with the Process-Improvement Life-Cycle in the statistical process control domain

Page 43: Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI

PM(CMMI)-007.000 Slide 43

Discussion?