Title: Capability Maturity Model
1CapabilityMaturityModel
2CMM History
- 1986 - Effort started by SEI and MITRE
Corporation - assess capability of DoD contractors
- First version published in 1991
- closely related to TQM
- goal is customer satisfaction
- not required that customer be "delighted"
3Some Fundamental Ideas
- Process improvement is based on small steps,
rather than revolutionary innovation. - CMM is not exhaustive or dictatorial.
- CMM focuses on processes that are of value across
the organization.
4Levels
- Initial
- Repeatable
- Defined
- Managed
- Optimizing
http//www.estylesoft.com/pictures/cmm_level3.CCC6
E28B8902407D8B1AA608D92EF004.gif
5Level 1 The Initial Level
- ad hoc, sometimes chaotic
- overcommitment leads to a series of crises
- during a crisis, projects abandon plans
- capability is characteristic of individuals, not
the organization - when a good manager leaves, the success leaves
with them
6Level 2 The Repeatable Level
- Planning is based on experience with similar
projects - past successes can be repeated
- Policies for Managing and Implementation
- installed basic management controls
- track costs and schedules
- notice and deal with problems as they arise
7Level 3 The Defined Level
- Standard Processes defined across the
organization and used by all projects - standard set of roles, activities, quality
tracking, etc - each project uses a tailored version of this
standard process - Training Program is in place to ensure everyone
has the skills required for their assigned role
8Level 4 The Managed Level
- Quantitative Quality Goals
- for both Products and Processes
- Organization-wide Process Database
- meaningful variations in process performance can
be distinguished from random noise - actions are then taken to correct the situation
- Products are of predictably high quality
9Level 5 The Optimizing Level
- Organization has the means to identify weaknesses
and strengthen the process proactively - teams analyze defects to determine their cause,
and disseminate lessons learned throughout the
organization - major focus on eliminating waste
- e.g. reduce amount of rework
10Defect prevention Technology change
management Process change management
Key Process Areas by maturity level
Quantitative process management Software Quality
Management
Organization process focus Organization process
definition Training program Integrated software
management Software product engineering Intergroup
coordination Peer Reviews
Requirements management Software project
planning Software project tracking and
oversight Software subcontract management Software
quality assurance Software Configuration
management
This is a somewhat handy hierarchy of
activities.
11Don't skip levels
- For example,
- collecting detailed data (level 4) is meaningless
unless the data is from projects that use a
consistent process (level 3)
12Who uses CMM
- 75 of organizations are probably Level One.
- To get to Level Two, you must have control over
the requirements documents. Hence, shrink-wrap
companies like Microsoft are Level One. - 75 of Level Five organizations are in India.
13Level Comparison - Risk
- Level 1
- Just do it
- Level 2
- problems are recognized and corrected as they
occur - Level 3
- problems are anticipated and prevented, or
impacts minimized - Levels 4 and 5
- sources of problems are understood and eliminated
14Level Comparison - People
- Level 1
- success depends on individual heroics
- fire fighting is the way of life
- Level 2
- success depends on individuals
- efforts are supported by management
- Level 3
- people are trained for their role(s)
- groups work together
- Levels 4
- strong sense of teamwork in every project
- Level 5
- strong sense of teamwork across the organization
- everyone does process improvement
15Level Comparison - Measurement
- Level 1
- ad hoc data collection and analysis
- Level 2
- individual projects use planning data
- Level 3
- data collected for all processes
- data shared across projects
- Levels 4
- data standardized across the organization
- Level 5
- data used for process improvement
16Quiz 1
- Your Role SQA specialist
- Situation
- Initial Unit Testing reports indicate a bug rate
of 4.5 / KSLOC. - Further checking finds
- Average initial bug rate is 3.1 per KSLOC
- StdDev of 0.5
- weighted rate is also higher than average
- What CMM level enables this amount of visibility
into the process?
17Quiz 2
- Your Role Project Manager
- Phase Unit Testing
- Problem You notice that design, implementation,
and testing of the database component will
probably take 4 weeks instead of the planned 3
weeks. These tasks are not on the critical path.
- Possible Actions?
- and what level CMM characterizes that action?
18Quiz 3
- Your Role Project Manager
- Phase Planning
- Task Schedule the Testing of the Database
- Estimated Duration 3 days
- Required Resources
- the database requirements specs
- the implementation (source code)
- real data from customer
- test person that has a DB Test certificate
- How do the different capability levels affect
your ability to schedule and monitor this task?
19Quiz 4
- Your Role a development team leader
- Problems
- Well into development, you get an email
indicating a change in the interface requirements
based on a demo of the prototype done with the
customer. The change will require a good amount
of code rework. - What would be the reaction of groups with
- Level One
- Level Three
- Level Five
20Next Details of Requirements
21Definitions
- Each of the five CMM levels is composed of key
process areas - each key process area is organized into five
sections called common features - common features contain key practices
22Defect prevention Technology change
management Process change management
Key Process Areas by maturity level
5
4
Quantitative process management Software Quality
Management
Organization process focus Organization process
definition Training program Integrated software
management Software product engineering Intergroup
coordination Peer Reviews
3
Requirements management Software project
planning Software project tracking and
oversight Software subcontract management Software
quality assurance Software Configuration
management
2
23Definitions
- Each of the five CMM levels is composed of key
process areas - each key process area is organized into five
sections called common features - common features contain key practices
24Common Features
- Commitment to Perform
- Ability to Perform
- Activities Performed
- Measurement and Analysis
- Verifying Implementation
25Defect prevention Technology change
management Process change management
Key Process Areas by maturity level
Quantitative process management Software Quality
Management
Organization process focus Organization process
definition Training program Integrated software
management Software product engineering Intergroup
coordination Peer Reviews
Requirements management Software project
planning Software project tracking and
oversight Software subcontract management Software
quality assurance Software Configuration
management
26Software Project Planning Goals
- Goals
- Software estimates are documented for use in
planning and tracking the software project. - Software Project activities and commitments are
planned and documented. - Affected groups and individuals agree to their
commitments related to the software project.
27Software Project Planning1. Commitment to Perform
- Commitment 1 -- A project software manager is
designated to be responsible for negotiating
commitments and developing the project's software
development plan. - Commitment 2 -- The project follows a written
organizational policy for planning a software
project.
28- This policy typically specifies that
- The system requirements allocated to software are
used as the basis for planning the software
project. - The software project's commitments are negotiated
between - the project manager,
- the project software manager, and
- the other software managers.
- Involvement of other engineering groups in the
software activities is negotiated with these
groups and is documented. - Affected groups review the software project's
- software size estimates,
- effort and cost estimates,
- schedules, and
- other commitments.
- Senior management reviews all software project
commitments made to individuals and groups
external to the organization. - The project's software development plan is
managed and controlled.
29Software Project Planning2. Ability to Perform
- Ability 1 -- A documented and approved statement
of work exists for the software project. - Ability 2 -- Responsibilities for developing the
software development plan are assigned. - Ability 3 -- Adequate resources and funding are
provided for planning the software project. - Ability 4 -- The software managers, software
engineers, and other individuals involved in the
software project planning are trained in the
software estimating and planning procedures
applicable to their areas of responsibility.
30- The statement of work covers
- scope of the work,
- technical goals and objectives,
- identification of customers and end users,
- imposed standards,
- assigned responsibilities,
- cost and schedule constraints and goals,
- dependencies between the software project and
other organizations, - resource constraints and goals, and
- other constraints and goals for development
and/or maintenance. - The statement of work is reviewed by
- the project manager,
- the project software manager,
- the other software managers, and
- other affected groups.
- The statement of work is managed and controlled.
31Software Project Planning3. Activities Performed
- Activity 1 -- The software engineering group
participates on the project proposal team. - Activity 2 -- Software project planning is
initiated in the early stages of, and in parallel
with, the overall project planning. - Activity 3 -- The software engineering group
participates with other affected groups in the
overall project planning throughout the project's
life. - Activity 4 -- Software project commitments made
to individuals and groups external to the
organization are reviewed with senior management
according to a documented procedure. - Activity 5 -- A software life cycle with
predefined stages of manageable size is
identified or defined. - Activity 6 -- The project's software development
plan is developed according to a documented
procedure. - Activity 7 -- The plan for the software project
is documented. - Activity 8 -- Software work products that are
needed to establish and maintain control of the
software project are identified. - Activity 9 -- Estimates for the size of the
software work products (or changes to the size of
software work products) are derived according to
a documented procedure. - Activity 10 -- Estimates for the software
project's effort and costs are derived according
to a documented procedure. - Activity 11 -- Estimates for the project's
critical computer resources are derived according
to a documented procedure. - Activity 12 -- The project's software schedule is
derived according to a documented procedure. - Activity 13 -- The software risks associated with
the cost, resource, schedule, and technical
aspects of the project are identified, assessed,
and documented. - Activity 14 -- Plans for the project's software
engineering facilities and support tools are
prepared. - Activity 15 -- Software planning data are
recorded.
32Software Project Planning4. Measurement and
Analysis
- Measurement 1 -- Measurements are made and used
to determine the status of the software planning
activities. - Examples of measurements include
- completions of milestones for the software
project planning activities compared to the plan
and - work completed, effort expended, and funds
expended in the software project planning
activities compared to the plan.
33Software Project Planning5. Verifying
Implementation
- Verification 1 -- The activities for software
project planning are reviewed with senior
management on a periodic basis. - Verification 2 -- The activities for software
project planning are reviewed with the project
manager on both a periodic and event-driven
basis. - Verification 3 -- The software quality assurance
group reviews and/or audits the activities and
work products for software project planning and
reports the results.
34Defect prevention Technology change
management Process change management
Key Process Areas by maturity level
Quantitative process management Software Quality
Management
Organization process focus Organization process
definition Training program Integrated software
management Software product engineering Intergroup
coordination Peer Reviews
Requirements management Software project
planning Software project tracking and
oversight Software subcontract management Software
quality assurance Software Configuration
management
35Process Area Peer Reviews3. Activities
Performed
- Activity 1 - Peer reviews are planned, and the
plans are documented. - Activity 2 - Peer reviews are performed according
to a documented procedure. - Activity 3 - Data on the conduct and results of
the peer reviews are recorded.
36- Reviewers have assigned roles in peer reviews.
- Readiness and completion criteria for the peer
reviews are specified and enforced. - Checklists are used to identify criteria for the
review of the software work products in a
consistent manner. - The checklists are tailored to the specific type
of work product and peer review. - Examples of items addressed by tailoring the
checklist include - compliance with standards and procedures,
- completeness,
- correctness,
- rules of construction, and
- maintainability.
37and on it goes
The full lists of activities can be found
at http//www2.umassd.edu/swpi/sei/tr25f/tr25.html