Presentation on theme: "1 State of Michigan Achieving Software Process Improvement with Capability Maturity Model (CMM)"— Presentation transcript:
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 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 configuration management Software quality assurance Software subcontract management Software project tracking and oversight Software project planning Requirements management TOTALS Subtotal 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
11 M. Diaz and J. Sligo, “How Software Process Improvement Helped Motorola,” IEEE Software,September/October 1997, p. 76. *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 SLOC Level 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 Quality vs. CMM Level
12 Level 1 & 2 (Without historical data) Level 3 (With historical data) -145% 0% 20% Over/under percentage Software Estimates Level 1Level 2Level 3 Average number of defects/1Ksloc Post Release Defects Level 1Level 2Level 3 Staffing Requirements -12% -26% -38% -62% Percent of staff support per system 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 months
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 Guidelines (States of Transition) PRODUCTIVITYPRODUCTIVITY Current State Desired State Transition State
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 Technical Support 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.