Capability Maturity Model
Immature Organisations
• Software processes are often rigorously followed.
• Organisation is reactionary.
– firefighting.
– schedules and budgets routinely exceeded.
– product functionality and quality compromised to meet
deadlines.
– no objective way to judge product quality or software product
and process problems.
CS460 - Senior Design Project I (AY2004) 2
1
Mature Organisation
• Organisation-wide ability to manage development and
maintenance.
• Managers communicate process to employees, and process is
followed.
• Mandated process is useable and consistent with the way work
actually gets done.
• Process updated when necessary.
• Objective, qualitative basis for judging product quality and
analysing problems.
• Schedules and budgets usually met.
• Expected results for cost, schedule, functionality and quality
usually achieved.
CS460 - Senior Design Project I (AY2004) 3
Process Maturity Levels
Optimizing
continuously
improving process
Managed
predictable
process
Defined
standard,
consistent practice
Repeatable
disciplined
process
Initial
CS460 - Senior Design Project I (AY2004) 4
2
Process Maturity Levels
Process Maturity Level Key Process Areas
5 – Optimized Defect prevention
Technology change management
Process change management
4 – Managed Quantitative process management
Software quality management
3 – Defined Organization process focus
Organization process definition
Training program
Integrated software management
Software product engineering
Intergroup coordination
Peer reviews
CS460 - Senior Design Project I (AY2004) 5
Process Maturity Levels
Process Maturity Level Key Process Areas
2 – Repeatable Requirements management
Software project management
Software project tracking
and oversight
Software subcontract management
Software quality assurance
Software configuration
management
1 – Initial
CS460 - Senior Design Project I (AY2004) 6
3
Goals for Level 2 KPAs
• Requirements analysis
– System software requirements are controlled to establish a
baseline for software engineering and management use.
– Software plans, products, and activities are kept consistent
with the system requirements..
• Software Project Planning
– Software estimates are documented for use in planning and
tracking.
– Software project activities and commitments are planned
and documented,
– Affected groups and individuals agree to their commitments
related to the software project.
CS460 - Senior Design Project I (AY2004) 7
Goals for Level 2 KPAs (cont)
• Software project tracking and oversight
– Actual results and performance are tracked against the
software plans.
– Corrective actions are taken and managed when results and
performance deviate significantly from the software plans.
– Changes to software commitments are agreed to by the
affected groups and individuals.
• Software subcontract management
– The prime contractor selects qualified software
subcontractors.
– The prime contractor and the software subcontractor
• agree on their commitments to each other.
• maintain ongoing communications.
– The prime contractor tracks the software subcontractor's
actual results and performance against commitments.
CS460 - Senior Design Project I (AY2004) 8
4
Goals for Level 2 KPAs (cont)
• Software quality assurance (SQA)
– SQA activities are planned.
– Adherence to standards, procedures, and requirements.
– Affected groups and individuals are informed of SQA
activities and results.
– Noncompliance issues that cannot be resolved are
addressed by senior management.
• Software configuration management (CM)
– CM activities are planned.
– Selected software work products are identified and
controlled.
– Changes to identified software work products are controlled.
CS460 - Senior Design Project I (AY2004) 9
Goals for Level 3 KPAs
• Organization process focus.
– Software process development and improvement activities
are coordinated and planned across the whole organization.
– The strengths and weaknesses of the software processes
used are identified.
• Organization process definition
– A standard software process for the organization is
developed and maintained.
– Information related to the use of the organization's standard
software process by the software projects is collected,
reviewed, and made available.
CS460 - Senior Design Project I (AY2004) 10
5
Goals for Level 3 KPAs (cont)
• Training program
– Training activities are planned.
– Training for skills and knowledge needed for management
and technical roles is provided.
– Individuals receive the training necessary to perform their
roles.
• Integrated software management
– A project's defined software process is a tailored version of
the organization's standard software process.
– The project is planned and managed according to the
project's defined software process.
• Integrated product engineering
– SE tasks are defined, integrated, and consistently performed
to produce the software.
– Software work products are kept self-consistent.
CS460 - Senior Design Project I (AY2004) 11
Goals for Level 3 KPAs (cont)
• Intergroup coordination
– The customer's requirements are agreed to by all affected
groups.
– The SE groups identify, track, and resolve intergroup issues.
• Peer reviews
– Peer review activities are planned.
– Defects in the software work products are identified and
removed.
CS460 - Senior Design Project I (AY2004) 12
6
Goals for Level 4 KPAs
• Quantitative process management
– Quantitative process management activities are planned.
– The performance of the project's defined software process is
controlled quantitatively.
– The process capability of the organization's standard
software process is known in quantitative terms.
• Software quality management (SQM)
– The project's SQM activities are planned.
– Measurable goals for quality and their priorities are defined.
– Actual progress toward achieving the set quality goals is
quantified and managed,
CS460 - Senior Design Project I (AY2004) 13
Goals for Level 5 KPAs
• Defect prevention
– Defect prevention activities are planned.
– Common causes of defects are sought out and identified.
– Common causes of defects are prioritized and systematically
eliminated.
• Technology change management
– Incorporation of technology changes are planned.
– Evaluation of new technologies.
– Appropriate new technologies are transferred into normal practice
across the corporation.
• Process change management
– Continuous process improvement is planned.
– Organization-wide participation in the software process
improvement activities.
– Continuous improvement of software process (organizational
standard and tailored project version).
CS460 - Senior Design Project I (AY2004) 14
7
Conclusions
• The KPAs describe what to do, but they do not mandate how to
do it.
• Achieving higher levels of software maturity is incremental and
requires long term commitment to continuous process
improvement.
• Software organizations may take 10 years or more to build a
foundation for, and a culture oriented toward, continuous
process improvement. This level of effort is required to produce
mature software organizations.
• The CMM is not a silver bullet and does not address all of the
issues important for successful projects. It does not:
– address expertise in specific application domains.
– advocate specific application technologies.
– suggest how to select, hire, motivate and retain competent
staff.
CS460 - Senior Design Project I (AY2004) 15
Conclusions
• The CMM represents a common sense approach to software
process improvement.
• The maturity levels and KPAs have been extensively discussed
in the software engineering community.
• While the CMM is not prefect, it is a useful tool for guiding
software process improvement efforts.
• The CMM does not guarantee the software products will be
successfully built, but it can help improve cost, quality and
productivity goals.
CS460 - Senior Design Project I (AY2004) 16