Page 22 - The Art of Designing Embedded Systems
P. 22
Disciplined Development 9
The Software Engineering Institute’s (www.sei.cmu.edu) Capability
Maturity Model (CMM) defines five levels of software maturity and out-
lines a plan to move up the scale to higher, more effective levels:
1. hirial-Ad hoc and Chaotic. Few processes are defined, and suc-
cess depends more on individual heroic efforts than on following
a process and using a synergistic team effort.
2. Repeatable-Intuitive. Basic project management processes are
established to track cost, schedule, and functionality. Planning
and managing new products are based on experience with similar
projects.
3. Defined-Standard and Consistent. Processes for management
and engineering are documented, standardized. and integrated
into a standard software process for the organization. All projects
use an approved, tailored version of the organization’s standard
software process for developing software.
4. Managed-Predictable. Detailed software process and product
quality metrics establish the quantitative evaluation foundation.
Meaningful variations in process performance can be distin-
guished from random noise, and trends in process and product
qualities can be predicted.
5. Optimizing-Charactenzed by Continuous Improvement. The or-
ganization has quantitative feedback systems in place to identif)
process weaknesses and strengthen them proactively. Project teams
analyze defects to determine their causes: software processes are
evaluated and updated to prevent known types of defects from
recurring.
Captain Tom Schorsch of the U.S. Air Force realized that the
CMM is just an optimistic subset of the true universe of develop-
ment models. He discovered the CIMM-Capability Immaturity
Model-which adds four levels from 0 to -3:
0. Negligenr-Indifference. Failure to allow successful devel-
opment process to succeed. All problems are perceived to be techni-
cal problems. Managerial and quality assurance activities are deemed
to be overhead and superfluous to the task of software development
process.
- 1. Obstructive-Counterproductive. Counterproductive pro-
cesses are imposed. Processes are rigidly defined and adherence to
the form is stressed. Ritualistic ceremonies abound. Collective man-
agement precludes assigning responsibility.

