Software Engineering Process - II Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II 10.1 Before You Begin…  What are your expectations from this.

Download Report

Transcript Software Engineering Process - II Unit 10: Integrated Capability Maturity Model (CMMI) Software Engineering Process - II 10.1 Before You Begin…  What are your expectations from this.

Software Engineering Process - II
Unit 10:
Integrated Capability Maturity
Model (CMMI)
Software Engineering Process - II
10.1
Before You Begin…

What are your expectations from this unit?
Software Engineering Process - II
10.2
Unit Objectives

Describe the SEI-CMMI evolution.

Describe the CMMI framework.

Identify the key process areas, goals, and
practices, and explain assessment process.

Explain the staged CMMI model and its
advantages.

Describe the continuous CMMI model and its
advantages.

Describe the CMMI implementation approach.

Identify the benefits of CMMI.
Software Engineering Process - II
10.3
SEI-CMMI Evolution

In the mid-1980s, the Software Engineering
Institute (SEI) initiated a study of assessing the
capabilities of software contractors.

The outcome of this capability assessment was
the SEI Software Capability Maturity Model
(CMM).

The software CMM was followed by a range of
other models including the People Capability
Maturity Model (P-CMM).
Software Engineering Process - II
10.4
SEI-CMMI Evolution (cont.)

SEI started a new program to integrate all the
earlier models to develop an integrated capability
maturity model (CMMI).

This integrated model supercedes the CMM,
covers its reported weaknesses, and has two
instantiations, staged and continuous.

The CMMI model is a framework for process
improvement and is applicable across a range of
companies.
Software Engineering Process - II
10.5
SEI-CMMI Framework
The SEI-CMMI model has two versions:

Staged: Is compatible with the software CMM and
allows assessment of an organization’s system
development and management processes at a
maturity level from 1 to 5.

Continuous: Allows for a finer-grain classification
and rates 24 process areas on a scale from 1 to
6.
Software Engineering Process - II
10.6
SEI-CMMI Framework (cont.)
The SEI-CMMI model includes:

Process areas: The CMMI identifies 24 process
areas, relevant to software process capability and
improvement.


These process areas are organized into four
groups.
Goals: Goals define the desirable state that
should be attained by an organization.

The CMMI has specific goals associated with each
process area.

The CMMI also has generic goals, which
institutionalize good practices.
Software Engineering Process - II
10.7
SEI-CMMI Framework (cont.)

Practices:

Practices define ways to achieve a goal.

The CMMI defines up to seven specific and
generic practices that may be associated with each
goal within each process area.
Software Engineering Process - II
10.8
CMMI Process Areas
Category
Process Area
Process Management
Organizational
Project Management
Project
Engineering
Requirements
Support
Configuration
Software Engineering Process - II
process definition
Organizational process design
Organizational training
Organizational process performance
Organizational innovation and deployment
planning
Project monitoring and control
Supplier agreement management
Integrated project management
Risk management
Integrated teaming
Quantitative project management
management
Requirements development
Technical solution
Product integration
Verification
Validation
management
Process and product quality management
Measurement and analysis
Decision analysis and resolution
Organizational environment for integration
Causal analysis and resolution
10.9
Process Areas and Goals - Examples
Goal
Process Area
Corrective actions are managed to
closure when the project’s
performance or results deviate
significantly from the plan.
Specific goal in project
monitoring and control
Actual performance and progress of
the project is monitored against the
project plan.
Specific goal in project
monitoring and control
The requirements are analyzed and
validated and a definition of the
required functionality is developed
Specific goal in requirements
development
Root cause of defect and other
problems are systematically
determined.
Specific goal in causal analysis
and resolution
The process is institutionalized as a
defined process
Generic goal
Software Engineering Process - II
10.10
Practices and Goals - Examples
Practice
Analyze derived requirements to ensure that they
are necessary and sufficient.
Validate requirements to ensure that the resulting
product will perform as intended in the user’s
environment using multiple techniques as
appropriate.
Select the defects and other problems for analysis.
Perform causal analysis of selected defects and
other problems and propose actions to address
them.
Establish and maintain an organizational policy for
planning and performing the process, developing
the work products, and providing the services of the
requirements development process.
Associated goal
The requirements are
analyzed and validated, and a
definition of the required
functionality is developed.
Root causes of defects and
other problems are
systematically determined.
The process is
institutionalized as a defined
process.
Assign responsibility and authority for performing
the process, developing the work products, and
providing the services of the requirements
development process.
Software Engineering Process - II
10.11
Class Activity - 1

Identify two possible goals for the following
process areas:

Requirement management

Configuration management
Software Engineering Process - II
10.12
CMMI Assessment Process

The CMMI assessment involves examining the
processes in an organization and rating these on
a six-point scale based on their level of maturity.

The six-point scale assigns a level to a process
as follows:

Not performed: One or more of the specific goals
associated with the process areas is not satisfied.

Performed: Goals are satisfied. The scope of work
for each process area is defined and
communicated to team members.
Software Engineering Process - II
10.13
CMMI Assessment Process (cont.)


Managed:

The goals associated with process areas are met
and organizational policies are in place.

Documented plans, resource management, and
process monitoring procedures must exist.
Defined:

Each project in the organization has a managed
process that is tailored from a defined set of
organizational processes.

Process assets and measurements must be
collected and used for future process improvements.
Software Engineering Process - II
10.14
CMMI Assessment Process (cont.)

Quantitatively managed: There is an organizational
responsibility to use statistical and other
quantitative methods to control subprocesses.

Optimizing:

The organization must use the process and product
measurements to drive the process improvement.

The processes must adapt to changing business
needs.
Software Engineering Process - II
10.15
Staged CMMI Model

This model assesses an organization’s process
capability on a scale of 1 to 5. It prescribes goals
that should be achieved at each level.
Software Engineering Process - II
10.16
Staged CMMI Model (cont.)

The process areas at level 2 are:

Requirements management

Project planning

Project monitoring and control

Supplier agreement management

Measurement and analysis

Process and product quality assurance

Configuration management
Software Engineering Process - II
10.17
Class Activity - 2

List some practices that could help an
organization to make project planning a managed
process.
Software Engineering Process - II
10.18
Staged CMMI Model (cont.)


The advantages of the staged model are:

It is compatible with the software CMM model.

It defines a clear improvement path for the
organizations.
The disadvantages of the staged model are:

A maturity assessment at lower levels gives a
misleading picture of the organization’s capability.
Software Engineering Process - II
10.19
Continuous CMMI Model

This model does not assess an organization
according to discrete levels.

This model considers individual or groups of
practices and assesses the use of each practice
on a six-point scale.

The maturity assessment is not a single value but
a set of values showing the organization's
maturity for a group of processes.
Software Engineering Process - II
10.20
Continuous CMMI Model (cont.)
Software Engineering Process - II
10.21
Class Activity - 3

List some advantages of the continuous model.
Software Engineering Process - II
10.22
Implementing CMMI

The CMMI implementation approach includes the
following key principles:

Maintain executive support

Choose objectives carefully

Leverage best practices

Align process improvement with business
objectives

Build an integrated improvement infrastructure

Integrate legacy processes and initiatives
Software Engineering Process - II
10.23
Benefits of CMMI

The CMMI :

Identifies many cross-organizational issues and
provides a unique opportunity to address them.

Helps achieve optimization of processes in a
cross-discipline environment.

Yields more accurate project planning and reduced
cycle time.

Provides an opportunity to implement integrated
engineering assets.

Helps gain an industry-wide recognition for
excellence.
Software Engineering Process - II
10.24
Summary

What was your key learning from the unit?
Software Engineering Process - II
10.25