Characterizing the Software Process - A Maturity Framework -

Capability Maturity Modeling
WM-001
Software Process and Quality
WM 001 - Software Process & Quality
CMM Overview - 1
© Paul Sorenson
Designed to permit third party verification of
your quality systems
The essence of ISO 9000 is:
• Understand what your customer needs.
• Say what you do and how you do it.
• Do what you say your going to do.
• Measure whether you are meeting your customers'
needs and whether you are doing what you say you do
• Act on the new information to improve your organization
WM 001 - Software Process & Quality
CMM Overview - 2
© Paul Sorenson
Structure of the
ISO Quality
Management
Standards
Definitions
of Concepts
ISO 8402
Selections & Use
of the Standards
ISO 9000
INTERNAL
SYSTEM
Quality Management
Quality System Elements
ISO 9004
ISO 9004-2
EXTERNAL
EVALTNS
ISO 9001
Three
Quality
Assurance ISO 9002
Models
ISO 9003
Guidelines for
Auditing Quality
Systems
ISO 10011
WM 001 - Software Process & Quality
CMM Overview - 3
© Paul Sorenson
ISO 9000
Acceptance
Adopted by over 60 countries
100,000+ organizations world-wide are
ISO 9000 certified
Canadian Chamber of Commerce recommends
government apply standards to its management
Provides a common language for quality
management
ISO Committee continuing improvement
of standard
WM 001 - Software Process & Quality
CMM Overview - 4
© Paul Sorenson
ISO 9001 Required Elements
• Management responsibility
• Inspections, measuring & test equip.
• Quality system
• Inspection and test status
• Contract review
• Control of non-conforming products
• Design control
• Corrective action
• Document control
• Handling, storage, packaging &
delivery
• Verification of purchased
products
• Quality records
• Customer supplied product
• Internal quality audits
• Product identif. &
traceability
• Training
• Process control
• Inspection and testing
WM 001 - Software Process & Quality
• Servicing
• Statistical techniques
CMM Overview - 5
© Paul Sorenson
Characterizing the Software Process
CMM - A Maturity Framework
refs. IEEE Software, March 1988, 73-79, and IEEE Software,
July 1993, 18- 27 (Capability Maturity Model, V 1.1).
 Work directed by Watts Humphrey, SEI, Carnegie-Mellon
 Sponsored by US Defense Dept. – to provide some way of
characterizing the capabilities of software development
organizations.
 Fundamental to the characterization -- a quality
process must be under statistical control for sustained
progress to be possible [Deming's work with Japanese
industry after WW II]
WM 001 - Software Process & Quality
CMM Overview - 6
© Paul Sorenson
Lord Kelvin said a
century ago . . .
"When you can measure what you are speaking
about, and express it in numbers, you [may] know
something about it; but when you cannot measure
it, when you cannot express it in numbers, your
knowledge is of a meager and unsatisfactory kind;
it may be the beginning of knowledge, but you
have scarcely in your thoughts advanced to the
stage of Science."
WM 001 - Software Process & Quality
CMM Overview - 7
© Paul Sorenson
Macro-measure of an organization's
capability for continuous process improvement
Five-stage progressive model
lowest level (1)
• crisis driven and poorly controlled
• highly dependent on current practitioners
• unpredictable cost, schedule and quality
highest level (5)
• defined and documented process
• measured and controlled
• focused on process improvement
• supported by technology
WM 001 - Software Process & Quality
CMM Overview - 8
© Paul Sorenson
Optimized (5)
In
Managed (4)
In
Defined (3)
In
Out
Out
Out
Repeatable (2)
In
Out
Initial (1)
In
WM 001 - Software Process & Quality
Out
CMM Overview - 9
© Paul Sorenson
Optimizing(5)
Process change management
Technology change management
Defect prevention
Software quality management
Quantitative process management
Peer reviews
Intergroup coordination
Software product engineering
Integrated software management
Training program
Organization process definition
Organization process focus
Software config management
Software quality assurance
Software subcontract management
Software project tracking & oversight
Software project planning
Requirements management
Managed(4)
Defined(3)
Repeatable(2)
Initial(1)
WM 001 - Software Process & Quality
CMM Overview - 10
© Paul Sorenson
Level 2 - Repeatable
• policies for managing a software project
and procedures implementing those
policies are established
• 6 key process areas apply:
Requirements Management
A common understanding of the client’s needs is established
between the client and the project team. This agreement
forms is the basis for planning and managing the project.
Software Project Planning
Reasonable plans for engineering and managing the project are
established, forming the foundation for project management
WM 001 - Software Process & Quality
CMM Overview - 11
© Paul Sorenson
Level 2 - Repeatable (cont.)
Software Project Tracking & Oversight
Adequate visibility into project progress is established allowing
management to take effective action when project
performance deviates significantly from plans.
Software Subcontract Management
Qualified subcontractors are selected & managed effectively.
Software Quality Assurance
Management is provided with appropriate visibility into the
quality of the process being used and the products being built.
Software Configuration Management
The integrity of a project’s products are established and
maintained throughout its life cycle (e.g., nightly build)
WM 001 - Software Process & Quality
CMM Overview - 12
© Paul Sorenson
Level 3 - Defined
• A typical process for developing and maintaining software
across an organization is documented
• 7 key process areas apply:
Organization Process Focus
Organizational responsibility is established for activities
that improve overall software process capability.
Organization Process Definition
A reasonable set of process assets is developed
and maintained that improve processes across
projects and provide a basis for defining
meaningful data for quantitative process mgmt.
Training Program
Program put in place to develop needed skills & knowledge.
WM 001 - Software Process & Quality
CMM Overview - 13
© Paul Sorenson
Level 3 - Defined (cont.)
Integrated Software Management
Software engineering and management activities are integrated
into a coherent, defined process tailored from an organization’s
standard software processes and related process assets.
Software Product Engineering
A well-defined process is performed consistently; it integrates
all technical activities (requirements, design, code, test) to
produce correct, consistent products effectly and efficiently.
Intergroup Coordination
Methods are established for a softeng group to participate
actively with other engineering groups to form a project team.
Peer Reviews
Reviews are used to remove defects early and efficiently.
WM 001 - Software Process & Quality
CMM Overview - 14
© Paul Sorenson
Level 4 - Managed
• an organization sets quantitative quality
goals for both products and processes
and instruments processes with welldefined and consistent measurements
• 2 key process areas apply:
Quantitative Process Management
A project’s process performance is controlled quantitatively.
Software Quality Management
A quantitative understanding of the quality of a project’s
products is developed to achieve specific quality goals.
WM 001 - Software Process & Quality
CMM Overview - 15
© Paul Sorenson
Level 5 - Optimizing
• the entire organization is focused on
continuous process improvement
• 3 key process areas apply:
Defect Prevention
Causes of defects and their prevention are identified by
analyzing defects & if necessary changing the defined process.
Technology Change Management
Beneficial new technologies (eg tools, methods, processes) are
identified, transferred into organization in an orderly fashion.
Process Change Management
An organization’s processes are continually improved.
WM 001 - Software Process & Quality
CMM Overview - 16
© Paul Sorenson
Common Features
• The practices that describe the
key process areas are organized
by common feature, which are
attributes indicating whether the
implementation and institutionalization of a key process is effective,
repeatable and lasting.
• 5 common features are:
Commitment to perform
Measurement & analysis
Ability to perform
Verifying implementation
Activities performed
WM 001 - Software Process & Quality
CMM Overview - 17
© Paul Sorenson
EARLY RESULTS
Based on an SEI questionnaire survey
and interviews with dozens of organizations
4 & up
• Error projection
• Test and review coverage
• Process metrics data
3
• Design and code reviews
• SE training
• SE process group
2
• Project Planning
• Change control and CM
• Regression testing
1
2%
12%
28%
WM 001 - Software Process & Quality
28%
CMM Overview - 18
21%
9%
© Paul Sorenson
DO
Improvements
Infrastructure personnel
reduced to optimal
on-going level
Support processes
standardized, initial
automation,
metrics to
model
Training, manual
effectiveness
process support.
Initial process
metrics
Minimal new
documentation
added
Project
tries new
practice
Metrics
monitored to ensure
no loss of benefits
Evaluate results,
ensure success,
celebrate
Most projects
use, practice evaluated
against measurable
goals, most
people
More projects
convinced of
use, initial measurable
value
results
Other
successes linked
to practice
Successful
Project
PLAN
ACT
Identify Risks
Revise, develop
next-level process
convince others
Process
Improvement
Cycle
WM 001 - Software Process & Quality
CHECK
CMM Overview - 19
© Paul Sorenson
PLAN
Identify Risks
WM 001 - Software Process & Quality
CMM Overview - 20
© Paul Sorenson
DO
Improvements
Infrastructure personnel
reduced to optimal
on-going level
Support processes
standardized, initial
automation,
metrics to
Training, manual
model
process support.
effectiveness Initial process
metrics
Minimal new
documentation
added
Project
tries new
practice
WM 001 - Software Process & Quality
CMM Overview - 21
© Paul Sorenson
Metrics
monitored to ensure
no loss of benefits
Most projects
use, practice evaluated
against measurable
goals, most
More projects
use, initial measurable people
convinced of
results
Other
value
successes linked
to practice
CHECK
Evaluate results,
ensure success,
celebrate
Successful
Project
WM 001 - Software Process & Quality
CMM Overview - 22
© Paul Sorenson
ACT
Revise, develop
next-level process
convince others
WM 001 - Software Process & Quality
CMM Overview - 23
© Paul Sorenson