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
43
Embed
Structuring a Practical, Layered Software- Development Life-Cycle using the CMMI
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
PM(CMMI)-007.000 Slide 2
Introduction
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.
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
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)
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
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
Organizational Process FocusOrganizational Process DefinitionOrganizational TrainingOrganizational Process PerformanceOrganizational Innovation and Deployment
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
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
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
PM(CMMI)-007.000 Slide 17
Building a Better Life Cycle:Layer 1 – The Foundation SDLC
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
Facilitates staged evaluation of project viabilityFacilitates staged evaluation of project viability
PM(CMMI)-007.000 Slide 19
The CMMI Layered Life Cycles
Foundation SDLCEngineering &
Project Management
Process-Improvement Life -Cycle Infrastructure Life -Cycle
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
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
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
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) …
PM(CMMI)-007.000 Slide 24
Building a Better Life Cycle:Layer 2 – The Process Improvement Life Cycle
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.
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
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
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
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
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
PM(CMMI)-007.000 Slide 31
Building a Better Life Cycle:Layer 3 – The Infrastructure Life-Cycle
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
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
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
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
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
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
PM(CMMI)-007.000 Slide 38
Putting it all Together
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)
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
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