Você está na página 1de 63

CMMI

Capability Maturity Model Integrated

Priorities of a Software Company


You are president of a software company.
What are your priorities or goals for operation?
1.

Operating Efficiency (speed)

2.

Predictability

3.

Repeatability (consistency)

4.

Cost / effort control

5.

Obstacles to Achieving Goals


What do you think are likely to be major obstacles to a
software company's goals?
1.
2.

personnel turn-over
lack of visibility few measurements or objective way
to evaluate progress

3.

project complexity

4.

insufficient skill or knowledge

5.

lack of defined processes

How to Improve Ability to Achieve

How can you improve your company's ability to achieve


its goals?

hire better developers?

offer more incentives? (pay, ownership, bonuses)

more training?

...training in what?

use project management software?

Claimed Benefits of CMMI


Predictability
progress and completion of project follows plan more
closely
Repeatability
can reliably estimate new project complexity based on
past performance
Improved Productivity
some organizations report 30% reduction in cost
Better Quality
following a defined method (that includes testing,
review, and audit) reduces omissions and missed tasks

Process & Quality


The SEI premise:
"the quality of a system or product is highly influenced
by the quality of the process used to develop and
maintain it."

Overview of CMMI - Maturity Levels


"Optimizing"
"Optimizing"

5 Focus on process improvement;


Process measurements; adapt to

4 problems to reduce variance;


predictable performance

Process and procedures are

3 standard, managed, improved

Quantitatively
Quantitatively
Managed"
Managed"

Defined"
Defined"

over time

Has process model


but varies project to
project; repeatable
Ad hoc

1 not repeatable
0 Process is

not followed

"Managed"
"Managed"
"Performed"
"Performed"

Incomplete"
Incomplete"

CMMI Model
Maturity Level m
Process Area 1

Process Area 2

Specific Goals

Specific Practices

...

Generic Goals
Commitment to Perform
Ability to Perform
Directing Implementation

Generic Practices

Verifying Implementation

What does CMMI offer?


Process Area
Purpose
Statement

Specific Goals
Goals
Specific

KEY:

Required

Related
Process Areas

Generic Goals

Specific Practices

Typical
Typical Work
Work
Products
Products

Introductory
Notes

Generic Practices

Subpractices

Expected

Informative
Informative

Subpractices

Generic
Practice
Subpractices
Elaborations

Key Process Areas

"Process Areas" are general areas

They can be grouped into 4 categories:

Process Management
Project Management
Engineering
Support

Project Management

What process areas do you think a software company


should have for "Project Management"?

Project Management
PP

Project Planning

PMC

Project Monitoring and Control

SAM

Supplier Agreement Management

IPM

Integrated Project Management +IPPD

RSKM Risk Management


QPM

Quantitative Project Management

These acronyms are used frequently in CMMI documentation.


IPPD = Integrated Product and Process Development:
processes are developed along with the products they support

Engineering Discipline

What process areas do you think a software company


should have for "Engineering"?

Engineering
REQM Requirements Management
RD

Requirements Development

TS

Technical Solution

PI

Product Integration

VER

Verification

VAL

Validation

Support (Supporting Processes)

What process areas do you think a software company


should have for "Support"?

Support
CM

Configuration Management

PPQA Process and Product Quality Assurance


MA

Measurement and Analysis

DAR

Decision Analysis and Resolution

CAR

Causal Analysis and Resolution

Process Management

What process areas do you think a software company


should have for "Process Management"?

Process Management
OID

Organizational Innovation and Deployment

OPD

Organizational Process Definition +IPPD

OPF

Organizational Process Focus

OPP

Organizational Process Performance

OT

Organizational Training

How to Evaluate a Process Area

How do you know if your organization's "process"


incorporates a process area?

Ask project staff?


Answer may be designed to please.

Evaluating Process Area

How do you know if your organization's "process"


incorporates a process area?

1. Must meet "specific goals" of the process area.


and
2. Incorporate "specific practices" for the process
area.

See http://www.software-quality-assurance.org/index.htm
for detailed list of practices, subpractices, & work products

Example: Project Planning


SG 1 Establish Estimates
Practices for this goal:
Estimate the Scope of the Project
Estimate Work Product & Task Attributes
Define Project Lifecycle
Estimate Effort & Cost

See http://www.software-quality-assurance.org/index.htm
for detailed list of practices, subpractices, & work products

CMMI Level 2
Managed

Level 2 : Managed
At maturity level 2, requirements, processes, work
products, and services are managed.
The status of the work products and the delivery of
services are visible to management at defined points
(for example, at major milestones and at the completion
of major tasks).

Level 2 Benefits
The process discipline reflected by maturity level 2 helps
to ensure that practices are retained during times of
stress.
When these practices are in place, projects are
performed and managed according to their plans.
>> This doesn't mean the project will finish according to
plan.

Level 2 - Key Process Areas


CMMI suggests ("requires") our company implement
practices in these process areas:

CM - Configuration Management

MA - Measurement and Analysis

PMC - Project Monitoring and Control

PP - Project Planning

PPQA - Process and Product Quality Assurance

REQM - Requirements Management

SAM - Supplier Agreement Management

Activity 1

For your software projects, write down any practices


your team is using in these areas.
Be specific!
Name specific activities for your practices.

CM - Configuration Management

MA - Measurement and Analysis

PMC - Project Monitoring and Control

PP - Project Planning

PPQA - Process and Product Quality Assurance

REQM - Requirements Management

SAM - Supplier Agreement Management

Generic Goals and Practices

Each process area has specific goals and practices.

There are also generic goals and practices that apply


to all process areas.

Generic Goals GG 1
GG 1 Achieve Specific Goals

GP 1.1 Perform Specific Practices

Meaning:
Know just write it down... do it!

Generic Goals GG2


GG 2 Institutionalize a Managed Process

GP 2.1 Establish an Organizational Policy

GP 2.2 Plan the Process

GP 2.3 Provide Resources

GP 2.4 Assign Responsibility

GP 2.5 Train People

GP 2.6 Manage Configurations

GP 2.7 Identify and Involve Relevant Stakeholders

GP 2.8 Monitor and Control the Process

GP 2.9 Objectively Evaluate Adherence

GP 2.10 Review Status with Higher Level Mgmt

GG2 - connecting the goals


GP 2.1 Establish an
Organizational Policy

It needs commitment (from


management) to work

GP 2.2 Plan the Process

Plan first

GP 2.4 Assign Responsibility

Assign the jobs to someone

GP 2.3 Provide Resources

You need resources to do your


job

GP 2.5 Train People

You need know-how to do it

GP 2.7 Identify and Involve


Relevant Stakeholders

Who cares about this? Get


their input

GP 2.9 Objectively Evaluate


Adherence

... is the job really being done?

GP 2.8 Monitor and Control the


Process

... is it really working?

Generic Goals GG3 - GG5

Apply to CMMI Maturity Levels 3 - 5.

Ignore them until you are more mature.


CMMI Level 2 Software Engineer:

Activity 2: Generic Practices


Did you apply any GG2 practices in your projects?

GP 2.1 Establish an Organizational Policy

GP 2.2 Plan the Process

GP 2.3 Provide Resources

GP 2.4 Assign Responsibility

GP 2.5 Train People

GP 2.6 Manage Configurations

GP 2.7 Identify and Involve Stakeholders

GP 2.8 Monitor and Control the Process

GP 2.9 Objectively Evaluate Adherence

GP 2.10 Review Status with Higher Level Mgmt

Specific Goals and Practices

OK, we got the general process areas we oughta' have.

What should we really do?

PP - Project Planning

CM - Configuration Management

MA - Measurement and Analysis

PMC - Project Monitoring and Control

PPQA - Process and Product Quality Assurance

REQM - Requirements Management

SAM - Supplier Agreement Management

PP - Project Planning
Specific Goals and Practices:
SG 1 Establish Estimates
Estimate the Scope of the Project
Estimate Work Product & Task Attributes
Define Project Lifecycle
Estimate Effort & Cost

See http://www.software-quality-assurance.org/index.htm
for specific subpractices & work products

PP - Project Planning (continued)


SG 2 Develop a Project Plan
Establish the Budget and Schedule
Identify Project Risks
Plan for Data Management
Plan for Project Resources
Plan for Needed Knowledge and Skills
Plan Stakeholder Involvement
Establish the Project Plan

Project Planning - subpractices


SP 2.1 Establish the Budget and Schedule
identify major milestones
identify task dependencies
identify constraints

Work Products
Schedule
Schedule Dependencies

define a budget and schedule

Budget

PP - Project Planning (continued)


SG 3 Obtain Commitment to the Plan
Review Plans
Reconcile Work and Resource Levels
Obtain Plan Commitment

Activity 3

What Project Planning practices did you really use?

Describe the actual activity/practice use used.

If none, they write "none".

CM - Configuration Management
SG 1 Establish Baselines
Identify Configuration Items
Establish a Configuration Management System
Create or Release Baselines

SG 2 Track and Control Changes


Track Change Requests
Control Configuration Items

SG 3 Establish Integrity
Establish Configuration Management Records
Perform Configuration Audits

Activity 4

What Configuration Management practices did you


really use?

Describe the actual activity/practice use used.

If none, they write "none".

MA - Measurement & Analysis


SG 1 Align Measurement and Analysis Activities
Establish Measurement Objectives
Specify Measures
Specify Data Collection and Storage Procedures
Specify Analysis Procedures

SG 2 Provide Measurement Results


Collect Measurement Data
Analyze Measurement Data
Store Data and Results
Communicate Results

PMC - Project Monitoring and Control


SG 1 Monitor Project Against Plan
Monitor Project Planning Parameters
Monitor Commitments
Monitor Project Risks
Monitor Data Management
Monitor Stakeholder Involvement
Conduct Progress Reviews
Conduct Milestone Reviews
SG 2 Manage Corrective Action to Closure
Analyze Issues
Take Corrective Action
Manage Corrective Action

Activity 5

What Project Monitoring & Control practices did you


really use?

Describe the actual activity/practice use used.

If none, they write "none".

PPQA - Process & Product QA


SG 1 Objectively Evaluate Processes and Work Products
Objectively Evaluate Processes
Objectively Evaluate Work Products and Services

SG 2 Provide Objective Insight


Communicate and Ensure Resolution of
Noncompliance Issues
Establish Records

PPQA subpractices
SP 1.2 Objectively Evaluate Work Products & Services
clearly state the criteria for evaluating work products
use the stated criteria for evaluation
evaluate products before they are delivered to
customer
evaluate work products at milestones
record results of evaluation
identify lessons learned that could improve processes
in the future

Activity 6

What Product and Process QA practices did you really


use?

Describe the actual activity/practice use used.

If none, they write "none".

REQM - Requirements Management


SG 1 Manage Requirements
Obtain an Understanding of Requirements
Obtain Commitment to Requirements
Manage Requirements Changes
Maintain Bidirectional Traceability of Requirements
Identify Inconsistencies Between Project Work and
Requirements

SAM - Supplier Agreement Management


SG 1 Establish Supplier Agreements
Determine Acquisition Type
Select Suppliers
Establish Supplier Agreements

SG 2 Satisfy Supplier Agreements


Execute the Supplier Agreement
Monitor Selected Supplier Processes
Evaluate Selected Supplier Work Products
Accept the Acquired Product
Transition Products

Beyond Level 2...


Process Areas from Level 3

Validation - "do the right thing"


The purpose of Validation is to show that a product fulfills its
intended use in the intended environment.
SG 1 Prepare for Validation
Select Products for Validation
Establish the Validation Environment
Establish Validation Procedures and Criteria

SG 2 Validate Product or Components


Perform Validation
Analyze Validation Result

Verification - "do the thing right"


The purpose of Verification is to ensure that work products meet
their specified requirements.
SG 1 Prepare for Verification

... see documentation

SG 2 Perform Peer Reviews


SP 2.1 Prepare for Peer Reviews
SP 2.2 Conduct Peer Reviews
SP 2.3 Analyze Peer Review Data

SG 3 Verify Selected Work Products

... see documentation

Process Assets
Artifacts that describe, implement, and improve
processes.
Includes:

Organizations set of standard processes, including the


process architectures and process elements

Descriptions of approved life-cycle models

Guidelines and criteria for tailoring a standard process

Organizations measurement repository

Organizations process asset library

Measurement Repository

Repository used to collect and make available measurement


data on processes and work products

Examples:
estimated size of work products
effort estimates
cost estimates
defect estimates
actual size of work products
actual effort
actual cost
actual defects

Process Asset Library


Homework
research and make a list of the kind of items that can
be in a process asset library. Make a table as follows:
Process Asset

Description

How can we
(or do we)
implement this
asset at KUCPE

How would it
be beneficial to
our software
projects?

Project
Management
Plan templates

templates for
PMP and plan
components,
such as
configuration
mgmt plan

Word and HTML


files of IEEE
format with
descriptive text

1. save time in
preparing plan
documents
2. ensure we
include key
areas in our plan

Resources

http://www.software-quality-assurance.org/index.htm
tabulated and annotated list of CMMI for software,
organized by process area and activity

http://www.sei.cmu.edu/cmmi/ CMMI Web site

CMMI for Development, Version 1.2 (free PDF at SEI)


http://www.sei.cmu.edu/publications/documents/06.repo
rts/06tr008.html

Process Area (CMMI) at Wikipedia.org


overview of process areas and activities

IUP (Irrational Unified Process)


Some rational process suggestions
by the 219342-2550 class,
offered at the end of semester

Suggestions for an IUP Process


Our suggestions for a better IUP are to include or improve
these areas:

CM

Configuration Management

MA

Measurement and Analysis

PMC

Project Monitoring and Control

PP

Project Planning

PPQA

Process and Product Quality Assurance

REQM Requirements Management

SAM

Supplier Agreement Management

PP - Project Planning
Problem: the project plan is not useful or relevant (nobody
reads or follows it)
1, template is too long and complex, too much work to
write
2. a Wiki would be better
3. students don't like reading (long) documents
4. written for instructor not for the (student) user
Solutions:
1. simplify project plan
2. iterate over the plan; revise plan -way through course
3. make it more useful to the student

PP - Project Planning Problems


Problem: Project leader cannot control team

members do not perform assigned tasks

sol'n: get instructor involved in enforcing work

Problem: Relying on "heroes"

not enough time (too much coursework)

student may give priority to other classes

members are lazy (not motivated to work)

inability to acquire needed knowledge/skill

CM - Configuration Management
Problem: Need a back-up mechanism
Problem: Need something other than Subversion for
document management
Solutions:
find a "document control system"
use a structured Wiki with templates

PMC - Project Monitoring and Control


oral progress report by weekly group meetings
in case of lateness, other members help with task
changing requirements causes project lateness

Suggestions
need reward for completing work earlier, consistency
must be able to monitor progress
small extra credit would be significant motivation
frequent milestones, reviewed by instructor
SP 1.6 Conduct Progress Reviews
SP 1.7 Conduct Milestone Reviews

MA - Measurement and Analysis


Problem: lack ability to collect useful measurements for metrics
(can't evaluate performance)
Solution: Tools to assist in collecting measurements
Problem: What to measure?
defects
time? (man hours) related to work products/tasks

tasks completed

delays, missed commitments


lines of code
use cases
project complexity

Other Suggestions

more concrete software requirements specification

difficulty translating oral requirements into specs

prescriptive process that can apply to all projects

"process methodology" is descriptive and vague

students don't have time or experience to research


concrete practices

need practical and useful method, not IEEE/ISO std

Você também pode gostar