Software Engineering - Capability Maturity Model (CMM)

Capability Maturity Model (CMM)

Maturity level of an organization in terms of their capability to build high quality software within short turn-around time with optimal cost.


  • Organization should understand its current standing
  • Develop a plan to improve the process
  • Incrementally introduce changes
  • Give time to internalize and truly follow new methods
  • Order in which the improvement steps should be taken.

  • What is CMM all about?

  • Concept of introducing changes in small increments based on the current state of the process
  • Provides a general roadmap for process improvement

  • CMM Levels

    • disciplined
    • Standard, consistent
    • predictable
    • Continuously improving

    How does CMM Help?

    Provides characteristics at each level
    • Used to assess the current standing of the organization
    Suggests the areas in which the process should be improved so that it can move to the next level.


  • Adhoc
  • No formalized process
  • Process capability is unpredictable

  • Improvement is needed in
    • Project management
    • Quality assurance
    • Change control


    • Project management is well defined .
    • Project commitments are realistic .
    • Cost and schedule are tracked based on similar projects done in the past.
    • Formal configuration control mechanisms are in place.
    • Project planning and tracking is formal.
    • Results are repeatable.

    Key Process Areas

    • Software Configuration Management
    • Software Quality Assurance
    • Subcontract Management
    • Project Tracking and Oversight
    • Project Planning
    • Requirements Management


    Standardized Software Process
    Software Process Group exists in the organization
    • Takes ownership
    • Each step is carefully defined with verifiable entrance and exit criteria.
    • Methodologies for performing the step
    • Verification mechanism for the output of a step
    Development and management processes are formal

    Key Process Areas

    • Peer Reviews
    • Intergroup coordination
    • Training Programs
    • Integrated software management
    • Organization preocess definition
    • Organization process focus


    • Quantitative goals exist for both processes and products
    • Measurement plays a key role
    • Results can be predicted in quantitative terms


    • Software Quality management
    • Quantitative process management


    • Focus is on continuous process improvement based on quantitative feedback
    • Data collection is done periodically and routine analysis is performed to identify areas that need strengthening.