State of Michigan Achieving Software Process Improvement with Capability Maturity Model (CMM)
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
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
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.
No. of Key Practices per KPA The Challenge SW-CMM Size Characteristics Maturity Level Key Process Areas (KPA) No. of Goals per KPA No. of Key Practices per KPA 5 4 3 2 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 9 6 17 20 52 19 18 13 16 11 21 22 24 25 12 56 31 108 121 316
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.
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.
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.
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
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
Quality vs. CMM Level Consider 500K SLOC Defect rate halved per maturity 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 *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.
Improvements 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) Post Release Defects Staffing Requirements -12% Productivity -26% Average number of defects/1Ksloc Percent of staff support per system -38% -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
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
Implementation Approach Average time to achieve Level 2 certification 24-36 months
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
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
Guidelines (States of Transition) Desired State Current State Transition State PRODUCTIVITY
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.
Agency Pilot Project? IT Development Technical Support Client/ Server Main- frame Web
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.