CMM stands for Capability Maturity model. it is not just a tool for measuring where a company stands but it also acts as a guide on how to move up road. Whenever a new company is established it is at level one that is immature stage as it lacks in experience. Hence it is pone to make a lot of mistakes.
There is some similarity between CMM and a popular game “Need for speed Most wanted”. As the game requires us to fulfill certain criteria to move up the black list to complete the game. Similarity in CMM we are required to fulfill certain standard to move up a level.
There are five levels in CMM 1.1
1. initial (level1): In this kind of company the successful completion of the project depends on the individual efforts. This company dose not provide a stable environment for project development. The company dose not have process for management or engineering. Here the company employees think that the process, documentations, management are waste of time, money and man power. In this whenever a problem arises they drop whatever they planed for and jump to coding. This is also done whenever there tails are on fire (The dead lines are near).
2. Repeatable (level2): a company is rated as level 2 if a proper management is in place. Here the company has learned that without proper management project development is very hard and success rate is vary low. They try to repeat the success on the current project by repeating successful practices developed in earlier projects. Here the manager keeps track of cost, schedule,
the level 2 organizations can be called as disciplined because success in the previous project are repeated by the use of planning and tracking of project is stable.
3. Defined (level3): in this type of organizations proper documentation is done for both management process and engineering process. Here the software process are standardized. Here organization wide training program are conducted to ensure that the employees have the proper knowledge and skill to fulfill there roles in the organization.
In this level project forces the organization to make changes to the software process so that it meets the company needs. A defined software process contains a coherent, integrated set of well-defined software engineering and management processes. The software process capability of Level 3 organizations can be summarized as standard and consistent because both software engineering and management activities are stable and repeatable.
4. Managed (level4): here the organization sets some quality goals for both management and engineering process. Here the database is collected form the entire organization and analyzed for project defined process. Projects achieve control over their products and processes by narrowing the
variation in their process performance to fall within acceptable quantitative boundaries.
The software process capability of Level 4 organizations can be summarized as predictable because the process is measured and operates within measurable limits.
5. Optimizing (level5): at this level the entire organization is focused on improvement of the software process. Here the organization identifies its strengths and weakness innovative ideas are identified and shared through the organization. Software project teams in Level 5 organizations analyze defects to determine their causes. Software process are evaluated to identify defects and to stop them form being repeated. The software process capability of Level 5 organizations can be characterized as continuously improving because Level 5 organizations are continuously striving to improve the range of their process capability, thereby improving the process performance of their project.
The below diagram shows the CMM 1.1
The drawbacks of CMM are as follows
1. The CMM has no formal theoretical basis and in fact is based on the experience “of very knowledgeable people”.
2. The CMM does not have good empirical support and this same empirical support could also be construed to support other models.
3. The CMM ignores the importance of people involved with the software process by assuming that processes can somehow render individual excellence less important.
4. The CMM reveres the institutionalization of process for its own sake.
5. The CMM does not effectively describe any information on process dynamics, which confuses the study of the relationships between practices and levels within the CMM.
6. The CMM encourages the achievement of a higher maturity level in some cases by displacing the true mission, which is improving the process and overall software quality.