Patrick O'Toole
This chapter provides an overview of CMMI-based process maturity measures and describes how maturity and capability levels are determined. It sheds insight into some practices that may heighten the probability of success for an improvement program, and others that may lead to a less desirable outcome. [1]
[1] From Dos and Don'ts of Software Process Improvement, by Patrick O'Toole. 2002, Process Assessment, Consulting & Training. Reprinted by permission. All rights reserved. Pat O'Toole is a Principal Consultant at Process Assessment, Consulting & Training (PACT) where he provides a variety of services to his process improvement clients . Pat is one of the most active SEI authorized CBA IPI and SCAMPI lead assessors, and has led assessments spanning all maturity levels, including the largest and most complex Level 5 assessment conducted to date. He is a candidate lead assessor for the People-CMM, and is an SEI transition partner for the Introduction to CMMI course.
Many organizations perceive a correlation between the quality of their software processes and the quality of their resulting products and services. This holds true both for software development organizations and the software products they produce, as well as software support organizations and the software they maintain. A number of these organizations use a model-based approach, such as the Capability Maturity Model for Software (CMM) or Capability Maturity Model Integration (CMMI), to guide and measure their process improvement efforts. [2]
[2] Capability Maturity Model and CMM are registered in the U.S. Patent and Trademark Office; CMM SM Integration and SCAMPI SM are service marks of Carnegie Mellon University.
Unfortunately, many well-intentioned organizations fail to achieve their stated improvement goals. In many organizations, the goal is stated in terms of attaining a CMMI level, rather than in terms linked directly to project performance. Process maturity is a laudable goal ”provided it leads to improved project performance aligned with the organization's business objectives.
What Is Software Quality?
Software Development Process Models
Fundamentals of Measurement Theory
Software Quality Metrics Overview
Applying the Seven Basic Quality Tools in Software Development
Defect Removal Effectiveness
The Rayleigh Model
Exponential Distribution and Reliability Growth Models
Quality Management Models
In-Process Metrics for Software Testing
Complexity Metrics and Models
Metrics and Lessons Learned for Object-Oriented Projects
Availability Metrics
Measuring and Analyzing Customer Satisfaction
Conducting In-Process Quality Assessments
Conducting Software Project Assessments
Dos and Donts of Software Process Improvement
Using Function Point Metrics to Measure Software Process Improvements
Concluding Remarks
A Project Assessment Questionnaire