Agile methodologies have been touted as the programming methodologies of choice for the high-speed, volatile world of Internet and Web software development. They have also been criticized as just another disguise for undisciplined hacking. The reality depends on the fidelity to the agile philosophy with which these methodologies are implemented, and the appropriateness of the implementation for the application environment. This article addresses these issues and summarizes and critiques the compatibility of agile methodologies with plan-driven methodologies as described by the Capability Maturity Model® for Software.
The CMM and IS0 9000 are examples of a far-ranging set of models and approaches to process improvement that have developed around the world during the past decade. Others include Bootstrap [4], Trillium [8], Software Technology Diagnostic [l], etc. The proliferation of software process improvement approaches has led to the current IS0 effort to develop an international standard for software process assessment, usually referred to as SPICE Software Process Improvement and Capability dEtermination [2].
A suite of standards for software process assessment is being developed by ISO/IEC under the SPICE project. The intent is to harmonize the different efforts around the world to manage the software process. One of the SPICE products is a model for good software engineering and management practices, called the Baseline Practices Guide, which is similar to the SEI’s Capability Maturity ModelSM (CMM) and Northern Telecom/BNR's Trillium. In this paper, we give an overview of the SPICE Project and in particular, the Baseline Practices Guide.
Organizations concerned with ISO 9001 certification often question its overlap with the Software Engineering Institute's Capability Maturity Model (CMM). The author looks at 20 clauses in ISO 9001 and maps them to practices in the CMM. The analysis provides answers to some common questions about the two documents.< >
The capability maturity model (CMM), developed to present sets of recommended practices in a number of key process areas that have been shown to enhance software-development and maintenance capability, is discussed. The CMM was designed to help developers select process-improvement strategies by determining their current process maturity and identifying the issues most critical to improving their software quality and process. The initial release of the CMM, version 1.0, was reviewed and used by the software community during 1991 and 1992. A workshop on CMM 1.0, held in April 1992, was attended by about 200 software professionals. The current version of the CMM is the result of the feedback from that workshop and ongoing feedback from the software community. The technical report that describes version 1.1. is summarised. >