Tuesday, 18 October 2011

CMM Levels


CMM Levels
§   CMM = 'Capability Maturity Model', developed by the SEI.
§   It's a model of 5 levels of organizational 'maturity' that determine effectiveness in delivering quality software.
§   It is geared to large organizations such as large U.S. Defense Department contractors.
§   However, many of the QA processes involved are appropriate to any organization, and if reasonably applied can be helpful.
§   Organizations can receive CMM ratings by undergoing assessments by qualified auditors.
§   The Software Engineering Institute uses a conceptual framework based on industry best practices to assess the process maturity, capability and performance of a software development organization.
§   This framework is called the Capability Maturity Model "CMM".
 The extent of implementation for a specific key Process Area is evaluated by assessing:
  1. Commitment to perform (policies and leadership)
  2. Ability to perform (resources and training)
  3. Activities performed (plans and procedures)
  4. Measurement and analysis (measures and status)
  5. Verification of implementation (oversight and quality assurance)
  The Capability Maturity Model defined five levels of process maturity:
  1. Initial (worship the hero)
  2. Repeatable (Plan the work)
  3. Defined (Work the plan)
  4. Managed (measure the work)
  5. Optimized (work the measures)
Software Development Process Maturity levels
 The Initial Process (Level 1)
 The Initial (ad hoc) process level is unpredictable and often very chaotic. At this stage, the organization typically operates without formalized procedures, cost estimates, and project plans. Organizations at the ad hoc process level can improve their performance by instituting basic project controls. The most important are project management, management oversight, quality assurance, and change control. The fundamental role of the project management system is to ensure effective control of commitments. This requires adequate preparation, clear responsibility, a public declaration, and a dedication to performance.   

The Repeatable Process (Level 2)
The repeatable process has one important strength that the ad hoc process does not: It provides control over the way the organization establishes its plans and commitments. This control provides such an improvement over the ad hoc process level that the people in the organization tend to believe they have mastered the software problem
 The Repeatable level having 6 key processing areas
¨      Requirements management
¨      Software Project planning
¨      Software project tracking and oversight
¨      Software subcontract management
¨      Software Quality Assurance
¨      Software configuration management

 A suitably disciplined software development organization must have senior management oversight. This includes review and approval of all major development plans prior to their official commitment. Also, a quarterly review should be conducted of facility wide process compliance, installed quality performance, schedule tracking, cost trends, computing service.
A quality assurance group is charged with assuring management that software work is done the way it is supposed to be done. Sufficient resources to monitor performance of all key planning, implementation, and verification activities.
The Defined Process (Level 3)
With the defined process, the organization has achieved the foundation for major and continuing progress. The procedure for establishing a software development process architecture, or development life cycle, that describes the technical and management activities required for proper execution.

¨      The Defined level having 7 key processing areas.
¨      Organization process focus
¨      Organization process definition
¨      Training program
¨      Integrated software management
¨      Software product Engineering
¨      Inter-group coordination
¨      Peer reviews
 Level 4: Managed
Metrics are used to track productivity, processes, and products.  Project performance is predictable, and quality is consistently high.
 
The Managed level having 2 key processing areas
¨      Quantitative process management
¨      Software process management
Level 5: Optimized
The focus is on continuous process improvement. The impact of new processes and technologies can be predicted and effectively implemented when required. 
 
The Optimized level having3 key processing areas.
 
¨      Defect prevention
¨      Technology change management
¨      Process change management

Perspective on CMM ratings:  During 1997-2001, 1018 organizations were assessed.
 
Level 1
27%
Level 2
39%
Level 3
23%
Level 4
4%
Level 5
5%
 
CMM-I(Capability Maturity Model-Integration): CMM-I is an advanced version of capability Maturity Model(CMM). It has four components. They are
1.     Software Engineering
2.     Software Integrated
3.     Product process development
4.     Software Acquisition
 There is a significant difference between CMM and CMM-I . Two major factors
1.     Risk Identification
2.     Decision Analysis
 Note: CMM is being used in over 5000 organizations worldwide. Only 120 organizations worldwide are at CMM level5.
SEI-CMM (Software Engineering Institute-Capability Maturity Model):  It is a frame work for Software Development
 P-CMM(People-Capability Maturity Model): Focus on People-Related process. Such as performance management, training and development, recruitment, staffing and the interoperability between different roles with in a services Organization.
ISO(International Organisation for Standardization)
§  The ISO 9001:2000 standard concerns quality systems that are assessed by outside auditors, and it applies to many kinds of production and manufacturing organizations, not just software.
§  It covers documentation, design, development, production, testing, installation, servicing, and other processes.
§  The full set of standards consists of
¨      Q9001-2000 - Quality Management Systems: Requirements
¨      Q9000-2000 - Quality Management Systems: Fundamentals and Vocabulary
¨      Q9004-2000 - Quality Management Systems: Guidelines for Performance Improvements.
IEEE (Institute of Electrical and Electronics Engineers')
IEEE/ANSI Standard 829: IEEE Standard for Software Test Documentation
IEEE/ANSI Standard 1008: IEEE Standard of Software Unit Testing
IEEE/ANSI Standard 730: IEEE Standard for Software Quality Assurance Plans. 

No comments: