This book is likely not the best reference for any great detail regarding the inner workings of CMMI. We have decided, however, to include a bit of a discussion of its basic premise and highlight the structures that you should be familiar with to help you navigate the Microsoft Solution Framework’s (MSF) implementation of CMMI Level 3, called MSF 4.0 for CMMI Process Improvement.
Before jumping headlong into any CMMI implementation, you should be aware that CMMI has two representations: Continuous and Staged. What’s the difference? Well, consider two perspectives you can take regarding process improvement. The first perspective is a representation of how well your organization can perform a certain type of task, such as managing requirements or managing projects. This perspective would be equivalent to the Continuous representation of CMMI. In this case, capability is assessed by establishing baselines and then measuring improvements in each of the individual processes specified by CMMI. The other perspective may be based on how well the entire organization is able to deliver software solutions. This perspective is equivalent to CMMI’s Staged representation. A Staged CMMI representation takes a look at clusters of processes that are used to establish distinct stages of maturity across an organization, providing much more of an organizational roadmap to process improvement. Figure A-2 depicts CMMI’s representations and highlights some of the other aspects of each model.
Figure A-2: CMMI representations
Another key concept within any representation of CMMI is that of a process area. Process areas are groupings of the most significant topics of process improvement. Each process area has a very specific process improvement target. In addition, each process area has a set of goals that describe the results of a successful process. Each goal, in turn, has a set of practices that can aid in the achievement of the goal. Any goal that is specific to a process area is called a specific goal (SG). Every process area must have a goal, and in this light, specific goals are referred to as required material with regards to the definition of a process area. Goals that can be applied to all process areas are called generic goals (GGs). When you achieve a generic goal in a process area, you are demonstrating control over the planning and implementation of that process area, which provides an indication that the processes are more likely to be effective and repeatable. According to the definition of a process area, practices are activities performed to achieve a goal. When a practice is unique to a process area, it is called a specific practice (SP) and is considered to be an expected material in the definition of a process area. Why expected and not mandatory? The purpose of all process areas is to achieve certain goals. How you choose to achieve those goals isn’t mandatory, and the practices provided are also not mandatory. When a practice is associated with a generic goal that applies to multiple practices areas, it is called a generic practice (GP). Process areas can also describe other pieces of information called informative materials, such as references, formal names, notes, typical work products, subpractices, and something called discipline amplifications, which is differentiation information of the process area for a given discipline. Figure A-3 represents the relationship between goals and practices with regards to a process area definition.
Figure A-3: Structure of a process area definition
CMMI specifies 25 different process areas across four process area categories: Process Management, Project Management, Engineering, and Support. Table A-2 at the end of this appendix contains a summary of these process areas grouped by process area categories along with a summary of their purpose.
CMMI encompasses many different disciplines, including systems engineering (SE), software engineering (SW), integrated product and process development (IPPD), and supplier sourcing (SS), as shown in Figure A-4. These disciplines are unique enough to demand special attention within the CMMI model, and for this reason, we have discipline amplifications within the process area definitions.
Figure A-4: Structure of a process area definition
CMMI provides you with the ability to obtain specific versions of the model that are more tuned to different disciplines. Table A-1 summarizes the available combinations.
Downloadable Document | Description |
---|---|
CMMI-SW | Covers only the Software Engineering discipline |
CMMI-SE/SW | Covers the Software Engineering and Systems Engineering disciplines |
CMMI-SE/SW/IPPD | Covers the Software Engineering, Systems Engineering, and Integrated Product and Process Development disciplines |
CMMI-SE/SW/IPPD/SS | Covers all four disciplines |
For more information about the details of each process area, refer to the Software Engineering Institute’s Web site. In addition, this site provides you with the ability to download the specifications, in either PDF or Office Word format, for the CMMI model according to discipline.
CMMI provides a staged representation that works to supply a detailed roadmap consisting of five stages of a process improvement initiative from an organizational perspective. Each of the five stages is called a maturity level, and each has a set of associated process areas that guide the organization’s focus at that level. The staged representation relies upon a maturity dimension, as opposed to a capability dimension, as its measuring stick, with each maturity level having a characteristic or theme associated with it in much the same way that capabilities are described in a Continuous CMMI representation. The maturity levels specified in the Staged representation, along with their associated process areas, are depicted in Figure A-5.
Figure A-5: Staged maturity model
Organizations can have a formal assessment conducted by qualified CMMI appraisers to determine the maturity level for which they comply. If you have ever heard of a company being appraised at Level 3, the maturity level within the Staged representation is likely what was being referred to. The appraisal process works to evaluate the entire organization by taking a look at how many goals have been achieved for each process area. For example, if an organization has been appraised at Level 3, this means that all of the specific goals for each process area identified with Level 3 have been achieved along with the specific goals in all lower levels, in this case, Level 2 (there are no process areas associated with the maturity level of 1).
Note | CMM-SW was one of the first representations to introduce a similar five-level model of maturity. |
The Continuous representation of CMMI does not provide any specific guidance regarding the order in which you choose to conduct your process-improvement activities. The practices and processes in a continual model are organized in a way that supports achievements in individual process areas in a manner that best suits the needs of your organization. With this model, each process area is appraised at its own capability level, resulting in an organization that will likely have different process areas rated at different capability levels, as depicted in Figure A-6.
Figure A-6: Continual capability model
There are five levels of capability represented in the Continual model based on the capability dimension, as opposed to the maturity dimension used in the staged representation. Like the maturity dimension, each level is given a name that works to depict the theme associated with that particular level. The names of the capability levels are:
Level 1: Performed
Level 2: Managed
Level 3: Defined
Level 4: Quantitatively Managed
Level 5: Optimizing
Although the names of the maturity levels seem to correspond to the names of capability levels, they are still quite different because capability levels are applied to individual process areas, whereas maturity levels apply to a set of process areas and their associated specific goals.
Note | Continuous representation includes a method called equivalent staging, which enables the results of appraisals using Continuous representation to be translated into maturity levels (Software Engineering Institute: Capability Maturity Model Integration (CMMI), Version 1.1, Continuous Representation, March 2002, Appendix F). |
Staged, Continual-where do you start? Which one is right for you? A lot of organizations begin with the Staged model, primarily because it’s been used very successfully with very good results for a number of years. A Staged representation provides a clean path from working to improve project management to providing organization-wide process definitions, to using quantitative analysis techniques for improving and optimizing behavior. Continual models of process improvement precede Staged models, yet they are likely used less often in practice. Most CMMI practitioners who value the Continual model do so because of its flexibility and freedom. With the Continual model, organizations can better align the order and priority of process-improvement activities based on the needs of the business and team. Many also like the amount of detail Continual models provide with respect to reporting-the ability to see an individual process area’s capability specifically. Figure A-7 demonstrates these concepts and possible benefits that you might realize as a result of choosing one model over another.
Figure A-7: Benefit comparison between Staged versus Continuous representation
Table A-2 summarizes process areas, categorizing them and explaining the purpose of each.
Process Area | Purpose |
---|---|
Process Management Areas | |
Organizational Process Focus | To plan and implement organizational process improvement based on a thorough understanding of the current strengths and weaknesses of the organization’s processes and process assets. |
Organizational Process Definition | To establish and maintain a usable set of organizational process assets. |
Organizational Training | To develop the skills and knowledge of people so they can perform their roles effectively and efficiently. |
Organizational Process Performance | To establish and maintain a quantitative understanding of the performance of the organization’s set of standard processes in support of its quality and process-performance objectives and to provide the process’s performance data, baselines, and models to quantitatively manage the organization’s projects. |
Organizational Innovation and Deployment | To select and deploy incremental and innovative improvements that measurably improve the organization’s processes and technologies. The improvements support the organization’s quality and process performance objectives as derived from the organization’s business objectives. |
Project Management Areas | To establish and maintain plans that specify project activities. |
Project Planning | To provide an understanding of the project’s progress so that appropriate corrective actions can be taken when the project’s performance deviates significantly from the plan. |
Project Monitoring and Control | To manage the acquisition of products from suppliers for which there exists a formal agreement. |
Supplier Agreement Management | To establish and manage the project and the involvement of the relevant stakeholders according to an integrated and specified process that is tailored from the organization’s set of standard processes. For Integrated Product and Process Development, Integrated Project Management also covers the establishment of a shared vision for the project and a team structure for integrated teams that will carry out the objectives of the project. |
Integrated Project Management for IPPD | To identify potential problems before they occur so that risk-handling activities may be planned and invoked as needed across the life of the product or project to avoid adverse situations and deal with them effectively if they do occur. |
Risk Management | To form and sustain an integrated team for the development of work products. |
Integrated Teaming | To proactively identify sources of products that may be used to satisfy the project’s requirements and to manage selected suppliers while maintaining a cooperative project-supplier relationship. |
Integrated Supplier Management | To quantitatively manage the project’s specified process to achieve the project’s established quality and process-performance objectives. |
Quantitative Project Management | To establish and maintain plans that specify project activities. |
Engineering Process Areas | To provide an understanding of the project’s progress so that appropriate corrective actions can be taken when the project’s performance deviates significantly from the plan. |
Requirements Management | To manage the requirements of the project’s products and product components and to identify inconsistencies between those requirements and the project’s plans and work products. |
Requirements Development | To produce and analyze customer, product, and product-component requirements. |
Technical Solution | To design, develop, and implement solutions to requirements. Solutions, designs, and implementations encompass products, product components, and product-related life cycle processes either singly or in combinations as appropriate. |
Product Integration | To assemble the product from the product components, ensure that the product, as integrated, functions properly, and deliver the product. |
Verification | To ensure that selected work products meet their specified |
Validation | To demonstrate that a product or product component fulfills its intended use when placed in its intended environment. |
Support Process Areas |
|
Configuration Management | To establish and maintain the integrity of work products by using configuration identification, configuration control, configuration status accounting, and configuration audits. |
Process and Product Quality Assurance | To provide staff and management with objective insight into processes and associated work products. |
Measurement and Analysis | To develop and sustain a measurement capability that is used to support management information needs. |
Decision Analysis and Resolution | To analyze possible decisions using a formal evaluation process that evaluates identified alternatives against established criteria. |
Organizational Environment For Integration | To provide an Integrated Product and Process Development (IPPD) infrastructure and manage people for integration. |
Causal Analysis and Resolution | To identify causes of defects and other problems and take action to prevent them from occurring in the future. |