The Capability Maturity Model in Software Development by elfphabet3

VIEWS: 200 PAGES: 24

									The Capability Maturity Model
  in Software Development

          Paul X. Harder, JD
   Government Micro Resources, Inc.
         September 14, 2004
The Capability Maturity Model
What is the Capability Maturity Model
   The application of process management and
    quality improvement concepts to software
    development and maintenance.
   A guide for evolving toward a culture of
    engineering excellence.
   A model for organizational improvement.
The Capability Maturity Model
Working with DoD, Carnegie-Mellon University (CMU)
created the Software Engineering Institute
In September 1987, the SEI released a brief description
of the process maturity framework Two methods,
software process assessment and software capability
evaluation and a maturity questionnaire were developed
to appraise software process maturity.
In 1991, SEI released the Capability Maturity Model for
Software version 1.0.
In 2001, SEI released the Capability Maturity Model –
Integrated, superseding the CMM for software.
        Capability Maturity Model

Focuses on practices that are under control of
the software group
Presents a minimum set of recommended
practices that have been shown to enhance a
software development and maintenance
   It defines the expectation (the “what”)
   Without overly constraining the implementation (the
                  Process Maturity Increases
                       Project Success
                                                                                                             Performance continuously

                      Probability Probability Probability
                                                               Target N-z
                                                                                                             improves in Level 5 organizations
Maturity Levels

                                                                                    Time/$/ . . .            Based on quantitative
                                                                                                             understanding of process and
                                                            Target N-x Target N-y

                  4                                                                                          product, performance continues to
                                                                                                             improve in Level 4 organizations

                                                                                    Time/$/ . . .
                                                                                                             With well-defined processes,
                  3                                                                                          performance improves in Level 3
                                                                                    Time/$/ . . .
                         Target N+a

                                                                                                             Plans based on past performance
                                                                                                             are more realistic in Level 2
                  2                                                                                          organizations

                                                                                    Time/$/ . . .
                            Target N

                                                                                                             Schedule and cost targets are
                  1                                                                                          typically overrun by Level 1
                                                                                             Time/$/ . . .
                     CMM-I                    CMMI

 Based on the CMM-SW model created in 1991
to assess the maturity of software development,
with integration into other models.
 Multiple models, based on disciplines
     CMMI - SW: Software Engineering
     CMMI - SE / SW: above plus Systems Engineering
     CMMI - SE / SW / IPPD: above plus Integrated Product &
     Process Development
     CMMI - SE / SW / IPPD / SS: above plus Supplier
       Why We Chose CMM
CMM today serves as a “seal of approval” in software
CMM helped guide us towards standard, repeatable
processes – reduced learning time on how to get things
Standard practices mean time savings to our team -
everyone knows what to expect and what to deliver
Our quality activities became more aligned within the
project rather than thought of as a separate event
We rely on our processes and our people together, not
just one or the other
Ideas in CMM creates an environment of improvement –
if you don’t like things one way, make it better!
          Stages of Process Maturity
     Level         Focus                 Process Areas                           Quality
                Continuous        Organizational Innovation and Deployment
5 Optimizing                                                                     Productivity
                Process           Causal Analysis and Resolution
4 Quantitatively Quantitative     Organizational Process Performance
   Managed       Management       Quantitative Project Management

                                  Requirements Development
                                  Technical Solution
                                  Product Integration
3 Defined       Process           Organizational Process Focus
                Standardization   Organizational Process Definition
                                  Organizational Training
                                  Integrated Project Mgmt (with IPPD extras)
                                  Risk Management
                                  Decision Analysis and Resolution
                                  Integrated Teaming (IPPD only)
                                  Org. Environment for Integration (IPPD only)
                                  Integrated Supplier Management (SS only)
                                  Requirements Management
                Basic             Project Planning
                                  Project Monitoring and Control
2 Managed       Project           Supplier Agreement Management
                Management        Measurement and Analysis
                                  Process and Product Quality Assurance
                                  Configuration Management                         Risk
   1 Initial                                                                       Rework
    Level 1: the “Initial” Level
   Success depends on heroes
Good performance is possible - but
 Requirements often misunderstood, uncontrolled
 Schedules and budgets frequently missed
 Progress not measured
 Product content not tracked or controlled
 Engineering activities nonstandard, inconsistent
 Teams not coordinated, not trained
 Defects proliferate
            CMMI Level 2: “Managed”
                                               7 Process Areas
   Baseline the product requirements       – Requirements Management (REQM)
   Estimate project parameters,             Project Planning           (PP)
   Develop plans and processes
   Measure actual progress to enable       – Project Monitoring
   timely corrective action                    and Control            (PMC)
   Measure for mgmt. info needs            – Measurement & Analysis   (M&A)
   Verify adherence of processes           – Process & Product
   and products to requirements              Quality Assurance        (PPQA)
   Identify and control products,          – Configuration
   changes, problem reports                    Management              (CM)
   Select qualified suppliers / vendors;   – Supplier Agreement
   manage their activities                     Management             (SAM)
What Happens During Level 2
Processes become easier to digest and
Managers and team members spend less time
explaining how things are done and more time
Projects are better estimated, better planned,
and more flexible
Quality is integrated into the project
Costs may go up initially, but do go down over
And yes, there may be more documentation and
              CMMI Level 3: “Defined”
                                                  11 Process Areas*
  Clarify customer requirements             – Requirements Definition   (RD)
  Solve design requirements; develop        – Technical Solution        (TS)
 implementation processes
  Assemble product components, deliver      –   Product Integration      (PI)
  Ensure products meet requirements         –   Verification            (Ver)
  Ensure products fulfill intended use      –   Validation              (Val)
  Analyze decisions systematically          –   Decision Analysis
                                                  & Resolution          (DAR)
  Follow integrated, defined processes      – Integrated Project Mgmt (IPM)
  Identify and control potential problems   – Risk Management         (RSKM)

  Establish org. responsibility for PI      – Org. Process Focus        (OPF)
  Define the org’s best practices           – Org. Process Definition   (OPD)
  Develop skills and knowledge              – Org. Training              (OT)
What Happens During Level 3
Process Improvement becomes the standard –
Cross-Functional teams look for ways to “short-
cut” the system
Solutions go from being “coded” to being
Quality gates appear throughout the project
effort with the entire team involved in the
process, reducing rework
Risks are managed and don’t take the team by
    CMMI Level 4: “Quantitatively
                                           2 Process Areas
  Statistically manage the project’s – Quantitative Project
  processes and sub-processes            Management           (QPM)

  Understand process performance;    – Organizational
  quantitatively manage                Process Performance (OPP)
  the organization’s projects
      CMMI Level 5: “Optimizing”
                                        2 Process Areas
  Identify and eliminate               – Causal Analysis
  the cause of defects early             and Resolution       (CAR)

  Identify and deploy new tools and    – Organizational Innovation
  process improvements to meet needs     and Deployment        (OID)
  and business objectives
         The CMM Maturity Levels

Maturity Level 1

Maturity Level 2
Maturity Level 3
                       ~       ~       ~
Maturity Level 4
                   ~   ~   ~       ~       ~       ~

Maturity Level 5
                   ~   ~   ~       ~   ~       ~
       Proving Maturity Levels
Five characteristics must be demonstrated in each
practice to be assessed in that maturity level practice
   Commitment to Perform – Policies, procedures, and resources to
    perform the work
   Ability to Perform – Personnel, tools, and templates in place
   Activities Performed – Documentation and interviews
    demonstrating that policies are implemented
   Measurement and Analysis – Metrics and other tools used to
    evaluate effectiveness of processes
   Verifying Implementation – Independent review and evaluation of
    the processes
Maturity levels are proven through documentation
(policies, procedures, templates) and interviews of staff
(to prove institutionalization).
  CMM Process Maturity Profile
   of Software Organizations
Maturity Level        1987-91        1997         1999        2001   December
1- Initial              80%           61%         48%         38%      32%
2- Repeatable           12%           23%         30%         34%      37%

3- Defined               7%           14%         16%         20%      21%
4- Managed               0%            2%          4%          5%      5%
5- Optimizing            1%            1%          2%          4%      5%

Organizations            130          795         1179        1641     1998
reporting to SEI

   Pitfalls of
     How Long Does it Take?
Implementing CMM does not occur
Implementing CMM is not merely a “paper
Typical times for implementation:
   3-6 months of preparation
   6-12 months of implementation
   3 months of assessment preparation
   12 months for each new level
        Is it Perfect?
No! Some implementations do more
harm than good.
   Complete re-vamp of processes to “get
    certified” instead of smartly adapting
   Process focus used more as a stick
    than as a carrot.
   Focusing on compliance instead of
             Overall Benefits
Defect rates have dropped
Defect detection occurs earlier
User requirements are documented, controlled,
and managed
   Especially important when users change their minds!
Estimating improves and becomes more precise
Risk management is a practice
Development processes remain agile!
Implementation Best Practices
Be Realistic – Some processes will be
more ready than others.
Be Flexible – Allowing tailoring is key to
Be Open – The key is to learn how to do
things better, not how to “comply”.
Be Patient – It does not happen overnight.
           For More Information

CMM Softcopy:
   Overview article: in SME Guidebook and at
CMMI Sources:
   CMMI Softcopy:
   Transitioning to CMMI – A Guide for Executives

To top