200 likes | 343 Views
State of Michigan. Achieving Software Process Improvement with Capability Maturity Model (CMM). 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
E N D
State of Michigan Achieving Software Process Improvement with Capability Maturity Model (CMM)
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 Outline
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.
Maturity Level No. of Goals per KPA No. of Key Practices per KPA Key Process Areas (KPA) Process change management 19 3 5 Technology change management Subtotal 3 Subtotal 19 Defect prevention 18 3 56 9 4 Software quality management 3 13 Subtotal Subtotal Quantitative process management 3 18 31 6 Peer reviews 9 2 17 3 Intergroup coordination 3 Software product engineering 20 2 Integrated software management 2 19 Training program 3 16 Subtotal Subtotal Organization process definition 2 11 Organization process focus 3 16 108 17 4 21 Software configuration management 17 4 Software quality assurance 2 Software subcontract management 22 4 Software project tracking and oversight 24 3 Software project planning Subtotal Subtotal 25 3 Requirements management 12 2 121 20 316 52 TOTALS TOTALS The Challenge SW-CMM Size Characteristics
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
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. Example of Improved Process Workflow (cont.)
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
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 Quantifiable Benefits (cont.)
Quality vs. CMM Level Consider 500K SLOC Level 2450 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.
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) Staffing Requirements Post Release Defects Productivity -12% -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
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 Process for CMM Assessment
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) DesiredState CurrentState TransitionState 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.