|
Achieving higher levels of software process maturity is incremental and
requires a long-term commitment to continuous process improvement. Software
organizations may take ten years or more to build the foundation for, and
a culture oriented toward, continuous process improvement. Although a decade-long
process improvement program is foreig fb8 n to most U.S. companies, this
level of effort is required to produce mature software organizations. This
time frame is consistent with experience from other industries, such as
the U.S. automotive industry, that have achieved significant gains in process
maturity [Gabor90].
The CMM is not a silver bullet [Brooks87] and does not address all of the
issues that are important for successful projects. For example, the CMM
does not currently address expertise in particular application domains,
advocate specific software technologies, or suggest how to select, hire,
motivate, and retain competent people. Although these issues are crucial
to a project's success, some of these issues have been analyzed in other
contexts [Curtis90]. They have not, however, been integrated into the CMM.
The CMM was specifically developed to provide an orderly, disciplined framework
within which to address software management and engineering process issues.
Tutorials and courses on the CMM are being presented at major conferences
and seminars throughout the United States to ensure that the software industry
has adequate awareness of the CMM and its associated products. CMM-based
tools (e.g., the maturity questionnaire), software process assessment training,
and software capability evaluation training are being developed and/or revised
to incorporate the CMM.
The near-term focus on CMM development activities will be oriented towards
tailored versions of the CMM, such as a CMM for small projects and/or
small organizations. CMM v1.1 is expressed in terms of the normative practices
of large, government contracting organizations, and these practices must
be tailored to the needs of organizations that differ from this template.
During the next few years, the CMM will continue to undergo extensive testing
through use in software process assessments and software capability evaluations.
CMM-based products and training materials will be developed and revised
as appropriate. The CMM is a living document that will be improved, but
it is anticipated that CMM v1.1 will remain the baseline until at least
1996. This provides an appropriate and realistic balance between the needs
for stability and for continued improvement.
For the next version of the CMM, Version 2, the SEI will turn its attention
to improving the overall model. While all levels of the model may be revised,
the emphasis will be on Levels 4 and 5. Currently the key process areas
for Levels 2 and 3 have been the most completely defined. Since few organizations
have been assessed to be at Levels 4 or 5 [Humphrey91a, Kitson92], less
is known about the characteristics of such organizations. The practices
for these two levels will be refined as the SEI works closely with organizations
that are striving to understand and achieve Levels 4 and 5. The CMM may
also become multi-dimensional to address technology and human resource
issues.
The SEI is also working with the International Standards Organization
(ISO) in its efforts to build international standards for software process
assessment, improvement, and capability evaluation. The development of
the ISO standards will influence CMM v2, even as the SEI's process work
will influence the activities of the ISO.
Continuous improvement applies to the maturity model and practices, just
as it does to the software process. The potential impact of changes to the
CMM on the software community will be carefully considered, but the CMM,
the maturity questionnaire, and the software process assessment and software
capability evaluation methods will continue to evolve as experience is gained
with improving the software process. The SEI intends to work closely with
industry, government, and academia in continuing this evolution.
Th 190 e CMM provides a conceptual structure for improving the management
and development of software products in a disciplined and consistent way.
It does not guarantee that software products will be successfully built
or that all problems in software engineering will be adequately resolved.
The CMM identifies practices for a mature software process and provides
examples of the state-of-the-practice ( fd4 and in some cases, the state-of-the-art),
but it is not meant to be either exhaustive or dictatorial. The CMM identifies
the characteristics of an effective software process, but the mature organization
addresses all issues essential to a successful project, including people
and technology, as well as process.
|
|