Capability Maturity Model

Download Report

Transcript Capability Maturity Model

Capability Maturity Model (CMM)
For Software
Prologue
Capability Maturity Models® (CMMs®) assist
organizations in maturing their people, process,
and technology assets to improve long-term
business performance
 CMMs developed by the Software Engineering
Institute (SEI) 
–
–
–
–
–
7/16/2015
Software CMM
People CMM
Software acquisition CMM
Systems Engineering CMM
Integrated Product Development CMM
CRISP
2
CMM for Software

The Capability Maturity Model for Software (SWCMM) - a model for
– judging the maturity of the software processes of an
organization
– identifying the key practices that are required to
increase the maturity of these processes
– assessing and improving software processes
7/16/2015
CRISP
3
Let us understand –
A Process
A Software Process
Software Process Capability
Software Process Performance
Software Process Maturity and
Maturity Level
7/16/2015
CRISP
4
Process & Software Process - Defined
 A process is – "a system of operations in producing something ... a
series of actions, changes, or functions that achieve an
end or result”
– "a sequence of steps performed for a given purpose"
[IEEE-STD-610]
 A software process is – a set of activities, methods, practices, and
transformations that people use to develop and maintain
software and the associated products (e.g., project
plans, design documents, code, test cases, and user
manuals)
7/16/2015
CRISP
5
Software Process Capability - Defined

Software process capability
– describes the range of expected results that can be
achieved by following a software process
– provides one means of predicting the most likely
outcomes to be expected from the next software project
the organization undertakes
7/16/2015
CRISP
6
Software Process Performance Defined

Software process performance
– represents the actual results achieved by following a
software process
– focuses on the results achieved, while software process
capability focuses on results expected
– Based on the attributes of a specific project and the
context within which it is conducted, the actual
performance of the project may not reflect the full
process capability of the organization; i.e., the
capability of the project is constrained by its
environment
7/16/2015
CRISP
7
Software Process Maturity - Defined

Software process maturity is the extent to which a
specific process is explicitly defined, managed,
measured, controlled and effective

Maturity implies a potential for growth in
capability and indicates both the richness of an
organization's software process and the
consistency with which it is applied in projects
throughout the organization
7/16/2015
CRISP
8
Maturity Level - Defined
 A maturity level – is a well-defined evolutionary plateau towards
achieving a mature software process
– provides a layer in the foundation for continuous
process improvement
– comprises a set of process goals that, when satisfied,
stabilize an important component of the software
process
– When achieved establishes a different component in the
software process, resulting in an increase in the process
capability of the organization
7/16/2015
CRISP
9
Organizing CMM into Five Maturity
Levels
 Initial
– Software process characterized as ad hoc and
occasionally even chaotic
– Few processes defined and success depends on
individual effort and heroics
 Repeatable
– Basic project management processes established to
track cost, schedule, and functionality
– The necessary process discipline in place to repeat
earlier successes on projects with similar applications
7/16/2015
CRISP
10
Five Maturity Levels

Defined
– The software process for both management and
engineering activities documented, standardized, and
integrated into a standard software process for the
organization
– All projects use an approved, tailored version of the
organization's standard software process for developing
and maintaining software
7/16/2015
CRISP
11
Five Maturity Levels
 Managed
– Detailed measures of the software process and product
quality collected
– Both the software process and products are
quantitatively understood and controlled
 Optimizing
– Continuous process improvement enabled by
quantitative feedback from the process and from
piloting innovative ideas and technologies
7/16/2015
CRISP
12
SW-CMM Levels
7/16/2015
CRISP
13
Behavioral Characteristics – Level 1
(Initial)
Organization

Does not provide a stable
environment for developing
and maintaining software
 Has ineffective planning
 Lacks sound management
practices
 Has
reaction
driven
commitment system
7/16/2015
Project

Typically
abandons
planned procedures & revert
to coding and testing
 Success entirely depends
on having an exceptional
manager & an effective team
CRISP
Process Capability

Is
unpredictable
as
software process undergoes
constant change (ad hoc)
 Schedules,
budgets,
functionality & product
quality
generally
unpredictable
 Software
process
performance dependent on
individual
rather
than
organizational capability
14
Behavioral Characteristics – Level 2
(Repeatable)
Organization

Has established policies for
managing software projects &
procedures to implement those
policies
 Planning & managing new
projects based on experience
with similar projects
7/16/2015
Project

Has
basic
software
management controls installed
 Realistic commitments based
on the results observed in
previous projects & requirements
of the current project
 Project cost, schedule &
functionality properly tracked
 Software
requirements &
products base lined
 Project Standards defined &
followed
CRISP
Process Capability

Disciplined, due to stable
planning & tracking of
software project & earlier
successes can be repeated
 Project’s
process under
effective control of Project
Management
System,
following realistic plans based
on the performance of
previous projects
15
Behavioral Characteristics – Level 3
(Defined)
Organization
 Standard
process
for
developing and maintaining
software across the organization
documented
 This
standard
process
referred to throughout the CMM
as the organization's standard
software process
 A Group made responsible
for the organization’s software
process activities
 training
program
implemented, thru’ out the
organization to ensure that the
staff and managers have the
knowledge and skills required to
fulfill their assigned roles
7/16/2015
Project

Process Capability
Tailors the organization's
standard software process to
develop its own defined software
process, which accounts for the
unique characteristics of the
project
 The tailored process referred
to in the CMM as the project's
defined software process that
contains a coherent, integrated
set of well-defined software
engineering and management
processes
CRISP

based on a common,
organization
wide
understanding of the activities,
roles, and responsibilities
in a defined software process
 Standard & consistent, as
both software engineering &
project management activities
consistent and stable
 Within established product
lines, cost, schedule &
functionality under control and
software quality properly
tracked
16
Behavioral Characteristics – Level 4
(Managed)
Organization

Quantitative quality goals for
both software products and
processes established
 Productivity and quality
measured
for
important
software
process
activities
across all projects as part
of
an
organizational
measurement program
 Software process database
used to collect and analyze the
data available from the projects'
defined software processes
7/16/2015
Project

Process Capability
Achieve control over their
products and processes by
narrowing the variation in their
process performance to fall
within acceptable quantitative
Boundaries
 Risks involved in moving up
the learning curve of a new
application domain known and
carefully managed
CRISP

Predictable because the
process is measured and
operates within measurable
limits
 Allows an organization to
predict trends in process and
product quality within the
quantitative bounds of these
limits
 When
these
limits
exceeded, action is taken to
correct the situation
 Software
products
of
predictably high quality
17
Behavioral Characteristics – Level 5
(Optimizing)
Organization

Focused on continuous
process improvement
 Has the means to identify
weaknesses and strengthen the
process proactively, with the
goal
of
preventing
the
occurrence of defects
 Data on the effectiveness of
the software process used to
perform cost benefit analyses of
new technologies and proposed
changes to the organization's
software process
7/16/2015
Project

Process Capability
Defects
in
software
processes analyzed for their
causes
 Software
processes
evaluated to prevent known
types
of
defects
from
recurring, and lessons learned
disseminated to other
projects
CRISP

characterized
as
continuously
improving
because
Level
5
organizations continuously
strive to improve the range
of their process capability,
thereby improving
the process performance of
their projects
 Improvement
occurs
both
by
incremental
advancements
in
the
existing process and by
innovations
using
new
technologies and methods.
18
Key Process Areas

Each maturity level, except for Level
decomposed into several key process areas
1,
– that indicate the areas an organization should focus on
to improve its software process
– identify the issues that must be addressed to achieve a
maturity level
– identify a cluster of related activities that, when
performed collectively, achieve a set of goals
considered important for enhancing process capability
7/16/2015
CRISP
19
Key Process Areas – Level 2
(Repeatable)






Requirements management
Software project planning
Software project tracking and oversight
Software subcontract management
Software quality assurance
Software configuration management
7/16/2015
CRISP
20
Key Process Areas – Level 3 (Defined)







Organization process focus
Organization process definition
Training program
Integrated software management
Software product engineering
Inter group coordination
Peer reviews
7/16/2015
CRISP
21
Key Process Areas – Level 4
(Managed)

Quantitative process management
 Software quality management
7/16/2015
CRISP
22
Key Process Areas – Level 5
(Optimizing)

Defect prevention
 Technology change management
 Process change management
7/16/2015
CRISP
23
Common Features

For convenience, the key process areas organized
by common features
 Common features are –
– attributes that indicate whether the implementation and
institutionalization of a key process area is effective,
repeatable, and lasting
7/16/2015
CRISP
24
Five Common Features
 Commitment to Perform
– describes the actions the organization must take to ensure that the
process is established and will endure
– typically involves establishing organizational policies and senior
management sponsorship
 Ability to Perform
– describes the preconditions that must exist in the project or
organization to implement the software process competently
– typically involves resources, organizational structures and training
7/16/2015
CRISP
25
Five Common Features
 Activities Performed
– describes the roles and procedures necessary to
implement a key process area
– typically involve establishing plans and procedures,
performing the work, tracking it, and taking corrective
actions as necessary
 Measurement and Analysis
– describes the need to measure the process and analyze
the measurements
– typically includes examples of the measurements that
could be taken to determine the status and effectiveness
of the activities performed
7/16/2015
CRISP
26
Five Common Features
 Verifying Implementation
– describes the steps to ensure that the activities are
performed in compliance with the process that has been
established
– Typically encompasses reviews and audits by
management and software quality assurance
7/16/2015
CRISP
27
Key Practices
 Key Practices
– describe the infrastructure and activities that contribute
most to the effective implementation and
institutionalization of a particular key process area
– state the fundamental policies, procedures, and
activities for the key process area
– describe "what" is to be done, but should not be
interpreted as mandating "how" the goals should
be achieved
7/16/2015
CRISP
28
Example Key Practice
 For the Software Project Planning key process
area
– Estimate for the size of the software work products (or
changes to the size of software work products) to be
derived according to a documented procedure
7/16/2015
CRISP
29
Using the CMM
 CMM
– establishes a set of criteria that can be used by
organizations to improve their processes for developing
and maintaining software, or by government or
commercial organizations to evaluate the risks of
contracting a software project to a particular company
– acts as a common foundation for both software
process assessments and software capability
evaluations - two SEI-developed methods for
appraising the maturity of an organization's
execution of the software process
7/16/2015
CRISP
30
Using the CMM
 CMM
– has specific value in the areas of action planning,
implementing action plans, and defining processes
7/16/2015
CRISP
31
What CMM does not cover

Describes an organization at each maturity level
without prescribing the specific means for getting
there
 Does not tell an organization how to improve
 Does not currently address expertise in particular
application domains, advocate specific software
technologies, or suggest how to select, hire,
motivate, and retain competent people
7/16/2015
CRISP
32
Summary
Maturity Levels
indicate
contain
Process Capability
Key Process Areas
achieve
Organized by
Goals
Common Features
address
contain
Institutionalization
describe
Key Practices
Activities
7/16/2015
CRISP
33