What is the Capability Maturity Model (CMM) [ For Freshers and Experience ]
Last updated on 27th Dec 2021, Blog, General
The Capability Maturity Model (CMM) is a methodology used to develop and refine an organization’s software development process. The model describes a five-level evolutionary path of increasingly organized and systematically more mature processes.
- What is Capability Maturity Model?
- Levels of CMM
- Why Capability Maturity Model
- Features of 5 level
- Benefits of CMM
- Why Use a Model?
- Components of Capability Maturity Model (CMM)
- Internal Structure of CMM
What is Capability Maturity Model?
The Software Engineering Institute (SEI) Capability Maturity Model (CMM) specifies an increasing range of levels of a software development organisation. The higher the level, the better the software development process, so reaching each level is an expensive and time-consuming process.
Levels of CMM:
Level One: Initial – The software process is said to be inconsistent, and sometimes chaotic. Defined procedures and standard practises that exist are abandoned during a crisis. The success of the organisation majorly depends on individual effort, talent and valour. Heroes eventually move on to other organisations, taking their wealth of knowledge or the lessons learned with them.
Level Two: Repeatable – This level of the software development organisation has a basic and consistent project management processes to track cost, schedule and functionality. The process is underway to replicate the earlier successes on projects with similar applications. Program management is a key feature of a level two organisation.
Level Three: Defined – The software process for both management and engineering activities is documented, standardised and integrated into a standard software process for the entire organisation and all projects in the organisation are approved, conforming to the organisation’s standard software process for development. Application testing and maintenance.
Level Four: Managed – Management can effectively control the software development effort using precise measurements. At this stage, the organisation sets quantitative quality targets for both software process and software maintenance. At this maturity level, the performance of processes is controlled using statistical and other quantitative techniques, and is quantitatively estimated.
Level Five: Optimization – The key feature of this level is the focus on continual improvement in process performance through both incremental and innovative technological improvements. At this stage, process changes aim to improve process performance as well as maintain statistical probability to achieve established quantitative process-improvement objectives.
Why Capability Maturity Model:
The Capability Maturity Model (CMM) is a methodology used to develop and refine an organisation’s software development process. The model describes a five-stage evolutionary path of increasingly organised and systematically more mature processes. CMM was developed and promoted by the Software Engineering Institute (SEI), a research and development centre sponsored by the US Department of Defence (DoD). SEI was established in 1984 to address software engineering issues and advance software engineering practises in the broadest sense. More specifically, SEI was established to optimise the process of development, acquisition and maintenance of heavily software-dependent systems for DoD. Because the processes involved are equally applicable to the software industry as a whole, SEI advocates the adoption of an industry-wide CMM.
CMM is similar to ISO 9001, one of the ISO 9000 series of standards specified by the International Organization for Standardization (ISO). ISO 9000 standards specify an effective quality system for the manufacturing and service industries; ISO 9001 specifically deals with software development and maintenance. The main difference between the two systems lies in their respective objectives: ISO 9001 specifies the minimum acceptable quality level for software processes, while CMM establishes a framework for continuous process improvement and the ISO standard in defining the means to be employed. more clear than . As a result,
Features of 5 level:
Level-1: Preliminary -No kpa is defined.The procedures to be followed are ad hoc and immature and not well defined.Unstable environment for software development.There is no basis for predicting product quality, completion time, etc.
Repeatable – Focuses on establishing basic project management policies.The experience of earlier projects is used for managing new similar nature Projects.
Project planning- It involves defining the resources, goals, constraints etc. required for the project. It presents a detailed plan to be followed systematically to successfully complete good quality software.
Configuration Management – The focus is on maintaining the performance of the software product, including all of its components, for the entire lifecycle.
Requirement Management- It involves the management of customer reviews and feedback resulting in certain changes in the requirement set. This also includes the fulfilment of those revised requirements.
Subcontract Management- It focuses on effective management of qualified software contractors i.e. it manages those parts of software which are developed by third parties.
Software Quality Assurance- It guarantees a good quality software product by following certain rules and quality standard guidelines while developing.
Defined – At this stage, documentation of standard guidelines and procedures takes place.
It is a well- defined integrated set of project-specific software engineering and management processes.
Peer Review- In this method, defects are removed using several review methods like walkthrough, inspection, friend check etc.
Intergroup Coordination- This involves the planned interaction between different development teams to ensure efficient and appropriate fulfilment of customer needs.
Organisation Process Definition– Its main focus is on the development and maintenance of standard development processes.
Organisation Process Focus- It includes the activities and practises that should be followed to improve the process capabilities of an organisation.
Training Program- It focuses on enhancing the knowledge and skills of team members including developers and ensuring increased work efficiency.
Managed – At this stage, quantitative quality goals are set for the organisation for software products as well as software processes. The measurements made help the organisation to predict the quality of the product and process within certain defined limits quantitatively.
Software Quality Management- This includes quantitative analysis and the establishment of plans and strategies to develop an understanding of product quality.
Quantitative Management- It focuses on controlling the performance of the project in a quantitative manner.
Customization – It is the highest level of process maturity in CMM and focuses on continuous process improvement in the organisation using quantitative feedback.New tools, techniques are used and software processes are evaluated to prevent recurrence of known defects.
Process Change Management- Its focus is on continuous improvement of the organisation’s software processes to improve productivity, quality and cycle time for the software product.
Technology Change Management- It involves the identification and use of new technologies to improve product quality and reduce product development time.
Defect Prevention- It focuses on identifying the causes of defects and preventing them from recurring in future projects by improving project-defined processes.
Benefits of CMM:
CMMI not only rates the maturity of the company’s process, it gives a level of assurance that the company being awarded the work will be able to complete the work in the time and price quoted for the project.
1 – Consistency
CMMI provides a proven approach that has enabled diverse organisations to reap real benefits in terms of dramatically improved project predictability and sustainability. While any or all of the above factors can increase an organisation’s initial interest in CMMI, the major benefit from implementing that model that executives focus on is consistency in delivery.
2 – cost savings
CMMI driven process improvement also provides real cost savings such as earlier and more effective error detection, and therefore lower cost of treatment, more effective management of change so you can spend less on rework, reduction in schedule variability and increase the cost estimation.
3 – self improvement
There is also the aspect of self-improvement. Companies will be able to use CMMI as a way to differentiate themselves locally and achieving CMMI levels will naturally improve their processes which will make them more competitive. The heat of competition is now generating significant interest in CMMI. Development, service providers and acquisition/outsourcing organisations are all adopting CMMI as a differentiator and as an enabler for better performance.
4 – Market demand
Competing companies are using CMMI and taking advantage of industry best practises. Companies have adopted this approach to best meet the demands and competition of the customers. The increasing popularity of CMMI in the market is also a major reason for companies adopting this practice.
5 – Demand for performance
The objective of CMMI is to improve the performance of existing organisational standards, processes and procedures and not to redefine them. CMMI aims to help organisations improve their “capacity” to consistently and predictably deliver desired products, services and sourced goods to their customers when they want them and at the price they want. are ready to pay.
6 – Process Improvement
A CMMI-driven improvement project will provide a framework to standardise your processes, ensure that your business best practises are captured, shared and adopted so that you can move employees around your organisation and Levers will not carry business critical information with them.
- Provides a common framework and language to help communicate.
- Leverages years of experience.
- Helps users keep the big picture in mind while focusing exclusively on improvement.
- Often supported by trainers and mentors.
- Can provide a standard to help resolve disagreements.
Why Use a Model?
Without a model of how an organisation operates, what functions it undertakes, and how they function, it is difficult to lead improvement efforts. A model gives us an understanding of the discrete elements in an organisation and helps to formulate language and discussion as to what needs to be improved and how such improvement can be achieved. A model offers the following benefits:
Components of Capability Maturity Model (CMM):
Maturity Level: A maturity level is a well-defined evolutionary plateau towards achieving a mature software process. The five maturity levels provide the top-level structure of the CMM.
Process capability: Software process capability describes the range of expected results that can be achieved by following a software process. An organisation’s software process capability provides a means to predict the most likely outcomes to be expected from the next software project the organisation undertakes.
Key Process Areas (KPA): Each maturity level is made up of key process areas. Each major process area identifies a set of related activities that, when undertaken collectively, achieve a set of goals deemed important to establish process capability at that maturity level. Key process areas are defined to remain at a single maturity level. For example, one of the key process areas for Level 2 is software project planning.
Goals: Goals summarise key practises of a key process area and can be used to determine whether an organisation or project has implemented the key process area effectively. Goals reflect the scope, boundaries and intent of each major process area. An example of a goal from the Software Project Planning Key Process area is “Software estimates are documented for use in planning and tracking a software project.” For more information about interpreting goals, see “The Capability Maturity Model for Software, Version 1.1” [Paulk93a] and Section 4.5, Applying Business Decisions, of this document.
Common Features: Key practises are divided into sections of five common features: commitment to performance, ability to perform, activities performed, measurement and analysis, and validation of implementation. Common characteristics are characteristics that indicate whether the implementation and institutionalisation of a key process area is effective, repeatable and sustainable. Activities Performed The general attribute describes the implementation activities. The other four general characteristics describe the institutionalisation factors that make a process part of an organisational culture.
Core Practises: Each major process area is described in terms of key practises that, when implemented, help meet the goals of that key process area. Key practises describe the infrastructure and activities that contribute most to the effective implementation and institutionalisation of the key process area. For example, one of the practises of the software project planning key process area is “the software development plan of the project is developed according to a documented process.”
Internal Structure of CMM:
Each level in CMM is defined in the core process area, or KPA, except Level-1. Each KPA defines a set of related activities that, when carried out collectively, achieve a set of goals considered important for improving software capability. For different CMM levels, there are sets of KPAs, for example for CMM Model-2, the KPAs are:
Develop Your Skills with CMMI V1.3 Certification TrainingWeekday / Weekend BatchesSee Batch Details
REQM – Requirements Management
PP- Project Plan
PMC- Project Monitoring and Control
SAM – Supplier Agreement Management
PPQA – Process and Quality Assurance
cm- configuration management
An organisation with a high maturity where all individuals recognize their role and responsibility for business success is an organisation that is more likely to achieve success.
What an organisation gains from process deployment and CMMI evaluation is a reflection of what the organisation puts into it. Organisations focused on achieving CMMI certification rarely reap the real benefits of adopting a quality framework.
High maturity, with a focus on quality and process performance objectives, positions organisations and projects to succeed.