Title: State of Michigan
1State of Michigan
- Achieving Software Process Improvement with
- Capability Maturity Model (CMM)
2Outline
- What is CMM?
- What is a Maturity Level?
- Improved Process Workflow
- Quality versus CMM Level
- Process for CMM Assessment
- Implementation Approach
- Prerequisites to Initiate Process
- Guidelines
- Next Steps
3What EXACTLY is Software CMM?
- The CMM is a framework that describes the key
elements of an effective software process - The CMM guides software organizations striving to
gain control of their processes for developing
and maintaining software, evolve toward a
software engineering culture, and management
excellence - The CMM describes an evolutionary improvement
path for software organizations from an ad-hoc,
immature process to a mature, disciplined one
4What is a Maturity Level?
- A well defined evolutionary plateau on the path
toward achieving a mature software process. - Indicates a level of process capability.
- The CMM has 5 maturity levels.
5The Challenge SW-CMM Size Characteristics
6Example of Improved Process Workflow
- A common, integrated vision of improvement for
all elements of an organization. - 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.
7Example of Improved Process Workflow (cont.)
- Changes to software commitments are agreed to by
the affected groups and individuals. - Adherence of software products and activities to
requirements is verified objectively.
- The prime contractor and the software
subcontractor agree to their commitments to each
other.
8Example of Improved Process Workflow (cont.)
- The prime contractor tracks the software
subcontractors actual results and performance
against the commitments.
- Changes to identified software work products are
controlled. - Affected groups and individuals are informed of
the project status.
9Quantifiable Benefits
- Cost of development goes down
- Better level of control on project changes
- Project metrics at enterprise level controls
impact of change
- Process consistency across all agencies allows
benchmarking and best practices to be shared at
the enterprise level - Reduced time to market has a positive impact on
business and IT
10Quantifiable Benefits (cont.)
- Better resource allocation
- Mitigates single point of failure
- Increases percentage of projects on-time and
on-budget
- Better project forecasts based on historical
project data - Systems Development Lifecycle (SDLC) will lend
itself to Level 3 compliance (Defined) - A better product
11 Quality vs. CMM Level
Consider 500K SLOC Level 2 450 defects, rework
equals 16 hrs/defect estimated at
100/hr 1,600 x 450 720K rework Level
3 360K rework Level 4 180K rework Level 5 90K
rework
Defect rate halved per maturity level
MAELOC million assembly-equivalent lines of
code
- A defect is a bug or error that escapes the
phase in which it was introduced - SLOC software lines of code
M. Diaz and J. Sligo, How Software Process
Improvement Helped Motorola, IEEE
Software,September/October 1997, p. 76.
12Improvements in Cost, Quality, and Productivity
Software Estimates
- Accuracy of project estimates
- improved 87
- Software quality improved 130
- Cycle time reduced 36
- Productivity improved 62
- Employee satisfaction
- increased 22
20
0
Over/under percentage
-145
Level 1 2 (Without historical data)
Level 3 (With historical data)
Staffing Requirements
Post Release Defects
-12
Productivity
-26
Average number of defects/1Ksloc
-38
Percent of staff support per system
-62
Level 1
Level 2
Level 3
Level 1
Level 2
Level 3
Based on data from 120 projects in Boeing
Information Systems, when an organization
maturity increased from SW-CMM Level 1 to 3
Source SEPG 2000 Keynote Briefing by Scott
Griffen
13Process for CMM Assessment
- Create a Process Improvement Team which has been
trained in CMM. - A Mini-Assessment is completed via a maturity
questionnaire for all agencies or IT - organizational units.
- The responses are tallied, evaluated and a list
of findings are produced.
- The results become a basis for recommendation for
process improvement. - Develop a project plan to address needed
improvements - Plan on-going monitoring
14Implementation Approach
Average time to achieve Level 2 certification
24-36 months
15Prerequisites to Initiate Process
- Commitment of staff resources and availability
- Orientation to CMM process
- Change in organizational culture
- Allowing time to follow process
- Process improvement
- Management Support
16Prerequisites to Achieve Process
- Systems Development Lifecycle be in place and
being followed. - Software Configuration Management
- Software Quality Assurance Program
- Software Subcontract Management
- Project Tracking and Oversight
- Project Planning
- Requirements Management
17Guidelines(States of Transition)
DesiredState
CurrentState
TransitionState
PRODUCTIVITY
18CMM Level 2 Next Steps
- Establish an Process Improvement Team to
standardize a process for internal CMM
certification prior to official CMM
certification. - Create a center of excellence
- Commitment of resources
- Policy decision
- Introduce Mini-Assessment to IT community
- Agency continues to operate toward level 2 or
higher - Identify IT organizational units that we could
use as a pilot.
19Agency
Pilot Project?
IT
Development
Technical Support
Client/ Server
Main- frame
Web
20Conclusion
- It is clear, that software process improvement
can pay off. The rough calculations of business
value ratios indicate that the returns can be
very substantial. - However, We need to learn how, when, why, and for
whom process improvement pays off.