Tuesday, October 15, 2013

CMMI Levels in Industry

CMMI – Capability Maturity Model Integration

Dear Reader,
Today I am writing details about CMMI level certifications in Software Industry. You may be knowing this but
this is for my reference only. For software development processes, the CMM has been superseded by Capability 
Maturity Model Integration (CMMI), though the CMM continues to be a general theoretical process capability model 
used in the public domain. 

Within each of these maturity levels are Key Process Areas (KPAs) which characterise that level, and for each 
KPA there are five definitions identified:
1. Goals
2. Commitment
3. Ability
4. Measurement
5. Verification

The CMM provides a theoretical continuum along which process maturity can be developed incrementally from one 
level to the next. Skipping levels is not allowed/feasible.

NOTE: The CMM was originally intended as a tool to evaluate the ability of government contractors to perform a 
contracted software project. It has been used for and may be suited to that purpose, but critics pointed out that 
process maturity according to the CMM was not necessarily mandatory for successful software development. 

There were/are real-life examples where the CMM was arguably irrelevant to successful software development, and 
these examples include many Shrinkwrap companies (also called commercial-off-the-shelf or "COTS" firms or software 
package firms). Such firms would have included, for example, Claris, Apple, Symantec, Microsoft, and Lotus. Though 
these companies may have successfully developed their software, they would not necessarily have considered or defined 
or managed their processes as the CMM described as level 3 or above, and so would have fitted level 1 or 2 of the model. 
This did not - on the face of it - frustrate the successful development of their software.

Level 1 - Ad hoc (Chaotic)
    It is characteristic of processes at this level that they are (typically) undocumented and in a state of dynamic 
    change, tending to be driven in an ad hoc, uncontrolled and reactive manner by users or events. This provides a 
    chaotic or unstable environment for the processes.

Level 2 - Repeatable
    It is characteristic of processes at this level that some processes are repeatable, possibly with consistent results. 
    Process discipline is unlikely to be rigorous, but where it exists it may help to ensure that existing processes are 
    maintained during times of stress.
Level 3 - Defined
    It is characteristic of processes at this level that there are sets of defined and documented standard processes 
    established and subject to some degree of improvement over time. These standard processes are in place (i.e., they 
    are the AS-IS processes) and used to establish consistency of process performance across the organization.
Level 4 - Managed
    It is characteristic of processes at this level that, using process metrics, management can effectively control the 
    AS-IS process (e.g., for software development ). In particular, management can identify ways to adjust and adapt the 
    process to particular projects without measurable losses of quality or deviations from specifications. Process 
    Capability is established from this level.
Level 5 - Optimized
    It is a characteristic of processes at this level that the focus is on continually improving process performance through 
    both incremental and innovative technological changes/improvements.
At maturity level 5, processes are concerned with addressing statistical common causes of process variation and changing the 
process (for example, to shift the mean of the process performance) to improve process performance. This would be done at 
the same time as maintaining the likelihood of achieving the established quantitative process-improvement objectives.

Other definitions of CMM(Capability Maturity Model):
    CMM is an industry-standard model for defining and measuring the maturity of a software company's development process and 
    for providing direction on what they can do to improve their software quality. It was developed by the software development 
    community along with the software engineering institute(SEI).
CMM software Maturity Levels:
Level1: Initial: The s/w development process at this level are adhoc and often chaotic. The project's success depends on heroes 
and luck. There are no general practices for planning monitoring or Controlling the process. It's impossible to predict the time 
and cost to develop the software. The test process is just as adhoc as the rest of the process.

Level2: Repeatable: This maturity level is best described as project level thinking. Basic project management processes are in 
place to track the cost schedule functionality and quality of the product. Lessons learned from previous similar projects are applied. 
There is a sense of discipline. Basic software testing practices such as test plans and test cases are used.

Level3: Defined: Organizational not just project specific thinking comes in to play at this level. Common management and 
engineering activities are standardized and documented. These standards are adapted and approved for use on different projects. 
The rules are not thrown out when things get stressful. Test documents and plans are reviewed and approved before testing begins. 
The test group is independent form developers. The test results are used to determine when the s/w is ready.

Level4: Managed: At this maturity level the organizations process is under statistical control. Product quality is specified 
quantitatively beforehand (for example this product wont release until it has fewer than 0.5 defects per 1 000 lines of code) 
and the s/w isn't released until that goal is met. Details of the development process and the s/w quality are collected over 
the projects development and adjustments are made to correct deviations and to keep the project on plan.

Level5: Optimizing: This level is called optimizing (not optimized) because it's continually improving from level 4. New 
technologies and processes are attempted the results are measured and both incremental and revolutionary changes are instituted 
to achieve even better quality levels. Just when everyone thinks the best has been obtained. The crank is turned one more time and 
the next level of improvement is obtained.


No comments:

Post a Comment