capability maturity model - vassar collegecs335/slides/cmm.pdf · 2003-12-03 · capability...

30
Capability Maturity Model CMM designed to determine capacity of contractors. Based on the idea that the software development process (SDP) used by contractors is the critical factor. Assumes that to the extent that the SDP has certain properties to that extent the contractor has superior capacity.

Upload: others

Post on 02-Apr-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Capability Maturity Model

• CMM designed to determine capacity of contractors.

• Based on the idea that the software development process (SDP) used by contractors is the critical factor.

• Assumes that to the extent that the SDP has certain properties to that extent the contractor has superior capacity.

Page 2: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Methodological Questions

• What properties should a SDP have?• How is it determined that a SDP should

have these properties?• How is it determined that a process with

these properties results in a greater capacity?

Answer: Articulation, measurement, control, feedback.

Page 3: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Perspectives on CMM

• As a model of the capability maturity of SDOs.

• As a methodology for determining the maturity level of SDOs.

• As a model of software development process improvement.

• As a methodology for determining whether a software development process has improved.

Page 4: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

CMM as a model of the capability maturityof software development organizations

Page 5: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Five Levels of MaturityOptimizing

Process controlManaged

Process measurement

Defined

Process DefinitionRepeatable

Basic management control

Initial

Page 6: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Initial Level

• Initial: Ad hoc, chaotic, no formalized commitment mechanisms, lax change control, little senior management involvement, project management mechanisms not enforced, most of the emphasis is on technical issues; heroes needed.

Page 7: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Repeatable Level

• Emphasis on managerial and organizational issues as well as technical issues.

• Considerable commitment control.• SDP articulated in terms of specific

experiences.• Lacks a general SDP independent of

specific people, tools, experiences, etc.

Page 8: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Defined Level

• The SDP is articulated independent of specific projects, persons, tools, etc.

• Provides a foundation for continuing progress by determining the effectiveness of the process.

• No mechanisms for gathering quantitative data.

Page 9: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Managed Level

• Focus shifts from managing and defining the process and producing the product to gathering quantitative data.

• Sub-processes are identified and their inter-relationships studied and managed as they change.

• Greater understanding of the effects of changes in the process.

Page 10: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Optimizing Level

• Emphasis on tuning the process using quantitative measures.

• Continuos process improvement using quantitative feedbacks and testing new ideas and technologies.

• Organization moves from process improvement to process management.

Page 11: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Initial to Repeatable

KPA Purpose of KPAReq. Mgmt. Establish common understanding

of req.sProject Planning Establish plans for executing and

managing projectProject trackingand oversight

Provide management insight intoproject progress

Subcontract mgmt. Select and manage subcontractorsQuality assurance Provide management insight into

the process and the productConfigurationmgmt.

Establish and maintain integrity ofthe product throughout the cycle

Page 12: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Repeatable to DefinedOrg. processfocus

Establish org. responsibilities forSPI activities

Org. processdefinition

Develop, maintain soft. processassets usable across projects

Training program Develop skills, knowledge ofindividuals usable across projects

Integrated softwaremgmt.

Integrate eng. & mgmt. activitiesinto a coherent, defined process

Product eng. Consistently perform theintegrated process

Intergroupcoordination

Establish a means for the soft.Eng. Group to meet with othereng. groups

Peer reviews Remove defects early, efficiently

Page 13: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Defined to Managed

KPA Purpose of KPA

Quantitativeprocess mgmt.

Control the process performance ofthe project quantitatively

Soft. Qualitymgmt.

Develop a quant. understanding ofthe products and achieve specificquality goals.

Page 14: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Managed to Optimizing

KPA Purpose of KPA

Defect Prevention To identify and prevent the causesof defects.

Tech. changemgmt.

Identify & incorporate beneficialnew technologies.

Process changemgmt.

Continually improve the process

Page 15: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

KPA and KPsAssociated with each KPA are some key practices whichsupport the KPA. 150-360 KPs.

Example:

KPA KPsRequirements mgmt. 1. Allocate requirements

2. Design system based on requirements

3. Manage requirements change

Page 16: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Common features of KPAs

Each KPA has five common features

• Goals (Example from req. mgmt.) • Commitment to perform• Ability to perform• Activities performed• Measurement and analysis• Verification of Implementation

Page 17: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

CMM as a methodology for determiningthe maturity level of a

software development organization

Page 18: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Evaluation Process

• Software Process Assessment (SPA) initiated by SDO to help improve its practices.

• Software Capability Evaluation (SCE) typically conducted by an outside organization.

• Both use a yes/no questionnaire.

Page 19: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Software Process Assessment• Selection phase: exec. level briefing.• Commitment phase: Organization commits to

the assessment process• Preparation phase: planning, training,

questionnaire• Report phase: final report, including

recommendations, is presented • Follow-up phase: Action plan formulated

with reassessment after 18 months

Page 20: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Software Capability Evaluations

• Done entirely by an outside organization• First, maturity questionnaire completed• Second, eval. team selects representative

practices for further examination • Org. personnel interviewed and related

documents examined.• Each practice is scored and the average

determines org.’s capability level

Page 21: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

SPA and SCESCESPA

• Used by for selection & contract monitoring

• Results to org. & acquirer• Substantiate current practice• Used to determine contract

performance potential• Independent evaluation• Applies to performance for

particular contract

• Used by org. to improve process

• Results to org. only• Assess current practice• Used for process

improvement• Collaborative• Applies to overall org.

Page 22: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

SCA, SCE Details

• Both are done from bottom-up level.• Which KPs are examined depends on the

maturity level assessed or evaluated.• No other KPs are used in the maturity level

determination. • 4 if KP’s performance is at least 80% satisfied,

3 if less than 80% satisfied.• Scores averaged and must be > 80% to pass

that level.

Page 23: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

CMM as a model of SPI and a methodology fordetermining improvements in a software

development process.

Page 24: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Software Process Improvement

Typically, this means

• A methodology for assessing the SDP of an organization

• Identification of areas of improvement• Recommendation of an action plan• Re-assessment after a specified period of

time

Page 25: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Modeling SPI• Process improvement is a transition from

one type of process to another type of process.

• The transition is itself a type of process--a meta-process.

• Only some transitions are improvements. How is it determined which transitions are improvements? (Improvement determination methodology--IDM)

Page 26: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

CMM as a SPI model

• Each level classifies a type of SDP. ---Coarse grain vs. fine grain

• Transitions between process types are given by KPAs, KPs, and action plans.

• IDM--uses best practices, risk management, and quality measurement feedback loops.

Page 27: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Modeling Processes with Improvements

How should software processes be modeled so thatthey can include management, measuring, and monitoring activities?

Page 28: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Graph Model of Process Improvement Process

• Process types can be modeled as nodes in an implicit directed graph

• A (directed) edge between a node P1 to P2 if some process changing activities can transform P1 into P2

• Only some paths in the graph will be process improvements path.

• What counts as a process improvement path?

Page 29: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

Improvement Determination Methodologies

• Types of practices known to improve SDP (e.g., requirements change management, configuration management)

• Risk mitigation practices (making process independent of specific tools, personnel, etc.)

• Empirical measurement, feedback, and adjustment practices

Page 30: Capability Maturity Model - Vassar Collegecs335/slides/CMM.pdf · 2003-12-03 · Capability Maturity Model • CMM designed to determine capacity of contractors. • Based on the

IDM in CMM

• Leve l to Level 2: Uses “best practices” to justify it as an improvement.

• Level 2 to Level 3: Uses risk mitigation to justify it as an improvement.

• Level 3 to Level 5 (via Level 4): Uses empirical justifications.