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.
   17   18   19   20   21   22   23   24   25   26   27