CMMI stands for Capability Maturity Model Integration. CMMI is a standard that provides a collection of best practices to be followed in the pursuit of an effective software system. This model consists of the efficient ways by which one can manage software development and its maintenance.
CMMI includes few key process areas.
A process area is a collection of a group of related practices in an area, which when implemented as a whole, helps to accomplish a set of goals considered important for improvement in that area.
CMMI further categorises itself into continuous and staged representations which are similar for all the process areas.
The continuous representation comprises of selection of a process area which needs improvement or set of interrelated process areas, that best serves a company's objectives. Though there are some limitations in the choice of a process area because of the dependencies among them.
On the contrary, in staged representation a process area is chosen according to which maturity level do they belong.
The CMMI process areas can be categorised into the following types :
Commitment to perform -An organisation's decision to take an action must make sure that it proves to be worthy and beneficial. This generally involves planning for sponsorship for senior management and setting up organisational goals.
Ability to Perform -This aspect describes the preconditions that must be there in the project so that a software process is implemented in competent manner. It involves proper training, availability of resources and a well defined structure.
Activities Performed - This typically involves describing roles and procedures for the activities to be carried out. Activities may involve devising plans and procedures, performing the actual work, track it and take corrective actions wherever necessary.
Measurement and Analysis -As the term suggests, so far the activities that have been performed are measured and analysed for its effectiveness.
Verifying Implementation -Verifying whether the activities performed comply with the process that had been established. Verification involves audit and reviews by management for quality assurance.
Process Area Details :
There are 22 process areas in CMMI, that indicate the various aspects of product development.
Casual Analysis and Resolution (support process area at maturity level 5)-The motive is to identify reasons that causes defects and other issues. Preventive measures are taken to avoid its occurrence in the near future.
Configuration Management (support process area at maturity level 2) -This method is applied to ensure integrity of work products. Few techniques are configuration identification, configuration control, configuration status accounting and configuration audits.
Decision Analysis and Resolution(support process area at maturity level 3) -A formal evaluation technique is applied to analyse possible decisions . Alternatives are carefully weighed against the established criteria.
Integrated Project Management (project management process area at maturity level 3) -The purpose is to manage project and to involve the relevant stakeholders according to an integrated process, as per an organisation's set of standard processes.
Measurement and Analysis (support process area at maturity level 2) -To support management's needs, this technique involves establishing measurement activities, specifying measures, specify data collection and stored procedure, specify analysis procedures etc.
Organisational Innovation and Deployment (project management process area at maturity level 5) -The aim is selection and deployment of incremental and innovative improvements that assures improvement in an organisation's processes and technologies. The sequence of steps are somewhat like this – analysing improvement proposals, identifying and analysing innovations, select improvement method and deploy the chosen improvements.
Organisational Process Definition (process management process area at maturity level 3) -The aim of this technique is to establish organisational process assets, establish life-cycle model descriptions, establishing the guidelines, defining organisation's process asset library etc.
Organisational Process Focus (process management process area at maturity level 3) -The purpose of this technique is to assess the strength and weaknesses of an organisation and plan and implement improvement measures for the organisational processes.
Organisational Process Performance (process management process area at maturity level 4) -The objective is to keep a track of organisation's flow of the set of standards in support of quality and process performance, with a quantitative approach. Few major goals of this method are selection of process areas, establish process performance measures, establish process performance objectives, process performance baselines and models.
Organisational Training (process management process area at maturity level 3) -The purpose is to sharpen the skills and knowledge of people to ensure that they deliver their tasks with utmost efficiency. Few goals of this technique are identification of strategic training needs, determine which training needs are crucial for an organisation.
Product Integration (engineering process at maturity level 3) -To make a product by integrating various product components, and ensure that the final integrated product functions properly. The goal is to determine how the product is to be integrated, set up product integration environment, establishing integration procedure and criteria.
Project Monitoring and Control (process management process area at maturity level 2) -When the project's performance becomes a matter of worry, one needs to take corrective actions to rectify things. The goal is to monitor project planning parameters, monitor the commitments made towards the project, analysing potential risks involved, conduct progress reviews etc.
Project Planning (project management process area at maturity level 2) -This method is simply to analyse the scope of the project, define product life cycle, determine cost and efforts involved etc. Basically the idea is to maintain the various project activities.
Process and Product Quality Assurance (support process area at maturity level 2) -The goal is to evaluate processes and work products, communication and resolution of non-compliance issues.
Quantitative Project Management (project management process area at maturity level 4) -Quantitatively manage a project by establishing project objectives, choose sub-processes that will statistically managed, maintain project's performance.
Requirements Development (engineering process area at maturity level 3) -The goal is to analyse customer requirements, establish operational concepts and scenarios, establish definition of required functionality, validating customer requirements.
Requirements Management (engineering process are at maturity level 2) -Manage the requirements of project's product and its components, and identification of deviation in the requirement and the project's actual work progress.
Risk Management (project management process area at maturity level 3) -Identification of possible risk, taking preventive measure before they can take place. Risk handling activities are planned accordingly and implemented as needed throughout the entire life cycle of the product development.
Supplier Agreement Management (project management process area at maturity level 2) -This involves a formal agreement between the supplier of the product and an organisation. The objective is to determine acquisition type, select suppliers, establish supplier agreement etc.
Technical Solution (engineering process area at maturity level 3) -This is involves devising solution to requirements. Identifying alternative courses of action, selecting product component solutions etc.
Validation (engineering process area at maturity level 3) -This measure is to endure that a product delivers as expected, that is doing the intended task within the intended environment.
Verification (engineering process area at maturity level 3) -Verification is the process of tracking the product with its set of requirements. Peer reviews are done to make sure that every requirement is catered to, by the product. Peer reviews are further confirmed by verifying the product and thus analysing the verification results.