State of Michigan
description
Transcript of State of Michigan
1
State of Michigan
Achieving Software Process Improvement with
Capability Maturity Model (CMM)
2
Outline
• 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
3
What 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
4
What 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.
5
Maturity Level
Key Process Areas (KPA) No. of Goals per KPA
No. of Key Practices per KPA
5
4
3
2
Process change managementTechnology change managementDefect prevention
Software quality managementQuantitative process management
Peer reviewsIntergroup coordinationSoftware product engineeringIntegrated software managementTraining programOrganization process definitionOrganization process focus
Software configuration managementSoftware quality assuranceSoftware subcontract managementSoftware project tracking and oversightSoftware project planningRequirements management
TOTALS TOTALS
Subtotal
Subtotal
Subtotal
Subtotal
Subtotal
Subtotal
Subtotal
Subtotal333 9
33 6
2322323 17
444332 20
52
191918
1318
9172019161116
211722242512
56
31
108
121
316
The Challenge SW-CMM Size Characteristics
6
Example 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.
7
Example 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.
8
Example of Improved Process Workflow (cont.)
• The prime contractor tracks the software subcontractor’s 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.
9
Quantifiable 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
10
Quantifiable 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
11M. Diaz and J. Sligo, “How Software Process Improvement Helped Motorola,” IEEE Software,September/October 1997, p. 76.
0
100
200
300
400
500
600
700
800
900
1000
1 2 3 4 5
Software CMM Level
In-P
roc
es
s D
efe
cts
/MA
EL
OC
*MAELOC = million assembly-equivalent lines of code
Defect rate halved per maturity level
• A defect is a bug or error that escapes the phase in which it was introduced
• SLOC = software lines of code
Consider 500K SLOCLevel 2 450 defects, rework
equals 16 hrs/defectestimated at $100/hr$1,600 x 450 = $720K rework
Level 3 $360K rework
Level 4 $180K rework
Level 5 $90K rework
Quality vs. CMM Level
12
Level 1 & 2(Without historical data)
Level 3(With historical data)
-145%
0%
20%
Ove
r/u
nd
er
pe
rce
nta
ge Software Estimates
0
5
10
15
Level 1 Level 2 Level 3
Ave
rag
e n
um
be
r o
f d
efe
cts/
1K
slo
c
Post Release Defects
0255075
100
Level 1 Level 2 Level 3
Staffing Requirements
-12%-26%
-38%
-62%
Pe
rce
nt
of
sta
ff s
up
po
rt
pe
r sy
ste
m
Productivity
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
• Accuracy of project estimates improved 87%• Software quality improved 130%• Cycle time reduced 36%• Productivity improved 62%• Employee satisfaction increased 22%
Improvements in Cost, Quality, and
Productivity
13
Process 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
14
Implementation Approach
Average time to achieve Level 2 certification 24-36 months
ID
1
2
3
4
5
Task Name
Establish a P rocess Im provem ent Team
Conduct a M ini-Assessm ent of Agencies
Collect M ini-Assessm ent, sum m arize results,evaluate results, prepare findings
Present findings & recom m endations to IMPACT
Determ ine next steps
Start Date
8/1/01
9/10/01
12/3/01
3/18/02
3/18/02
End Date
8/17/01
11/30/01
2/28/02
3/18/02
4/18/02
13d
60d
64d
1d
24d
Q3 Q4 Q1 Q2 Q3 Q4
2001 2002Duration
15
Prerequisites 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
16
Prerequisites 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
17
0
1
2
3
Guidelines(States of Transition)
PRODUCTIVITY
CurrentState
DesiredState
TransitionState
18
CMM 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.
19
Agency
IT
Development TechnicalSupport
Client/Server
Main-frame
Web
Pilot Project?
20
Conclusion
• 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.