What is the CMMI?
by Françis Dion
Published on this site: July 8th, 2005 - See
more articles from this month...

The CMMI is a model for improving and appraising the performance
of development organizations. It stands for Capability
Maturity Model Integration. It is published and developed
by the Software Engineering Institute in Pittsburgh, PA.
The CMM (the original version of the CMMI) was originally
commissioned by the American Department of Defense to help
them qualify software vendors capabilities. From there
it quickly evolved into a powerful tool to guide process improvement
initiatives, not only for Software Development but for many
related fields such as Systems Engineering, Product Acquisition,
Team Management, Research and Development, etc.
Today the CMMI is used around the world in military, commercial
and government organizations. It has been shown to reduce
the risks associated with development projects, increase efficiency
and improve the overall quality of products and deliverables.
Many civil industries such as transportation and telecommunications
are making it a requirement for submissions to large tenders.
Countries such as India and China are also using it to position
themselves as dependable, trustworthy providers of world class
outsourcing services.
The CMMI is best known for its five levels of organizational
maturity (see figure below). Each level represents a coherent
set of best practices organizations are expected to implement
as they become better at what they do.
- Level 1: Initial (Majority of Organizations)
- Level 2: Managed Process
- Level 3: Defined Process
- Level 4: Quantatively Managed Process
- Level 5: Optimizing Process (less than 5% of Organizations)
To each maturity level are associated a number of related
process areas. The process areas can be viewed as very detailed
checklists of what goals need to be achieved, what activities
performed, and what artifact created and maintained to satisfy
the requirements for a specific part of the overall development
process. The following lists the CMMI process areas organized
by maturity level. (Source: CMMI version 1.1 SW/SE/IPPD Staged
Representation )
- Maturity Level 1:
No process area associated with the maturity level 1
- Maturity Level 2:
Requirements Management
Project Planning
Project Monitoring and Control
Supplier Agreement Management
Measurements and Analysis
Process and Product Quality Assurance
Configuration Management
- Maturity Level 3:
Requirements Development
Technical Solution
Verification
Validation
Product Integration
Organizational Process Focus
Organizational Process Definition
Organizational Training
Integrated Project Management for IPPD
Integrated Supplier Management
Risk Management
Decision Analysis and Resolution
Integrated Teaming
Organizational Environment for Integration
- Maturity Level 4:
Quantitative Project Management
Organizational Process Performance
- Maturity Level 5:
Causal Analysis and Resolution
Organizational Innovation and Deployment
The CMMI also include Generic Goals and Generic Practices.
These model elements cover the organizations ability
to perform, manage, share, measure and improve its processes.
A new feature of the CMMI (as opposed to the original CMM)
is the ability to choose between two representations of the
model: Staged or Continuous. Generally speaking, the Staged
representation is better suited to focus the organization
towards tangible yet high level goals, while the Continuous
representation allows for the precise customization of a process
improvement program or appraisal to better meet an organizations
specific requirements.
BENEFITS
Here are some of the major benefits you can achieve by using
the CMMI in your organization:
- KNOWING YOUR TRADE
Are you sure everybody involved in your projects knows exactly
what their job is and how it relates with what everyone
else is doing? Just go around the office and ask these simple
question
To the project managers:
a. What is the difference between a plan and a schedule?
b. What do you record about the estimates that are
being made?
c. Do you estimate size as well as effort when doing
your planning? Do you monitor both attributes during the
life of the project?
To the configuration managers:
a. What is a baseline?
b. What is the purpose of a configuration audit?
c. Who authorizes changes to the configuration units?
To the quality assurance analysts:
a. What is the object of Quality Assurance?
b. How is it different from Quality Control? From
Testing?
c. Who, in the organization, knows about the Quality
Assurance
activities and results?
If people in your organization cannot answer these questions
right away or if nobody knows what these roles are or who
performs them, then your staff has an urgent need for some
education in their respective trade. Why not start with
a primer on the CMMI?
- UNDERSTAND WHERE YOU STAND
Are you doing better or worst than your peers and competitors?
When it comes to process improvement, are you cutting
edge or a laggard organization?
How can you tell?
The CMMI is both complete and universally relevant, allowing
for very precise and detailed benchmarking of process performance
within as well as across organizations and industry segments.
- GETTING A STRUCTURE, LOGICAL, TIME-PROVEN ROADMAP
FOR IMPROVEMENT
Rather than being a recipe to be followed blindly and faithfully,
the CMMI is a well-organized list of things that need to
be taken care of in order to be systematically successful
in your development projects. Aligning your improvement
plan to the CMMI levels ensures that you dont forget
anything and effectively protects you from the infamous
tunnel vision effect.
- POSITIONING YOURSELF AS A BEST-PRACTICE COMPANY
If your organization develops products, you probably want
your clients (be them internal or external) to look up to
you as a disciplined, knowledgeable, reliable and trustworthy
supplier. Adhering to the principles and practices of the
CMMI will go a long way to achieve this, both in your clients
perceptions and in reality. Publicly committing to following
the CMMI is like saying We will do the right things,
and we will do them right.
CONCLUSION:
Is the CMMI right for you? Unless you believe that common
sense does not apply to your context, then the CMMI is a powerful
tool to guide your process improvements efforts. Whether yours
is a mega-corporation with thousands of employees or a small
outfit with just a handful of developers, the CMMI can help
you deliver better products faster.
Studies have shown that companies that invest 5% to 10% of
their operating costs into process improvement typically experience
a return on investment of 100% the first year and upwards
of 400% after 3 to 5 years. These returns on investments are
based on reductions in the number of defects, faster time
to market, improvements in estimation capabilities and better
project control resulting in fewer schedule and cost overruns.
If you are under the impression that your company or organization
is too small to benefit from the CMMI, then consider this:
Are you too small for your projects to be late? For your requirements
to be vague and imprecise, resulting in a lot of rework and
unsatisfied customer? Do you sometime worry that your team
wont Be able to deliver in time for the next trade show,
yet dont know how help them out? If you can relate to
any of these situations, then look more closely into CMMI.
Its no silver bullet, but you just might sleep better
at night!
For additional information:
The CMMI web site: http://www.sei.cmu.edu/cmmi
Some return on investment
http://www.sei.cmu.edu/publications/..../00sr003chap02.html
Process Academys web site: http://www.ProcessAcademy.ca

Françis Dion is a software development and process
improvement specialist. He is an authorized CMMI trainer as
well as a certified process assessor and auditor. mailto:[email protected]

|