What is configuration management in CMMI

Configuration Management (CM) (CMMI-DEV)


The purpose of Configuration Management (CM) (CMMI-DEV) is to establish and maintain the integrity of the work results through configuration identification, configuration control, reporting on the configuration status and configuration audits.


The Configuration Management process area includes the following activities:

  • Determination of the configuration of selected work results that result in baselines for specified points in time
  • Control of changes to configuration units
  • Creation or provision of specifications in order to create work results from the configuration management system
  • Maintaining the integrity of the baselines
  • Provision of the exact status and current configuration data for developers, end users and customers
The work results placed under configuration management include products delivered to customers, selected internal work results, procured products, tools and other items that were used in the creation and description of these work results. (The definition of "configuration management" can be found in the glossary.)
Examples of work products that can be placed under configuration management include:
  • Hardware and equipment
  • drawings
  • Product specifications
  • Tool configurations
  • Code and Libraries
  • Compiler
  • Test tools and test scripts
  • Installation logs
  • Product data files
  • Technical publications on the product
  • plans
  • User stories
  • Iteration backlogs
  • Process descriptions
  • conditions
  • Architecture documentation and design data
  • Line plans, processes, and core assets
It may be that procured products are placed under configuration management by both the supplier and the project. Regulations for the implementation of configuration management should be an integral part of the agreements with suppliers. To ensure that the data is complete and consistent, methods should be established and maintained. Configuration management for work results can be carried out in different levels of detail. Configuration units can be broken down into configuration components and configuration elements. Only the term Ā»configuration unitĀ« is used in this process area. Therefore, in these practices, "configuration unit" can be interpreted as a "configuration component" or as a "configuration element" as required. (The definition of "configuration unit" can be found in the glossary.) Baselines provide a stable basis for the continuous development of configuration units.
An example of a baseline is a shared description of a product that includes consistent versions of requirements, requirements traceability matrices, designs, subject-specific details, and end-user documentation.
Baselines are added to the configuration management system according to the development progress. Changes to baselines and the publication of work results created from the configuration management system are systematically controlled and monitored using the configuration control, change management and configuration audit functions of configuration management. This process area is used not only for configuration management in projects, but also for configuration management of organization-wide work products such as standards, procedures, reuse libraries, and other shared, supporting assets. Configuration management is aimed at the rigorous control of operational and technical aspects of work products, including the product or service delivered. This process area covers the practices for performing the configuration management function and is applicable to all work products that are subject to configuration management. For product lines, configuration management includes additional considerations due to the sharing of core assets across all products in the line and across multiple versions of the core assets and products. (See the glossary for a definition of "product line".)
In agile environments, configuration management (CM) is important because of the need to support frequent changes, frequent production runs (usually daily), diverse baselines, and diverse CM-supported workspaces (e.g. for individuals, teams, and pair programming). Agile teams can get bogged down if the organization does not: 1) automate configuration management (e.g. through build scripts, status monitoring, integrity checking) and 2) implement configuration management as a set of standard services. To begin with, an agile team should identify the individual who is responsible for ensuring that configuration management is implemented correctly. At the beginning of each iteration, the needs for configuration management support must be reconfirmed. Configuration management is carefully integrated into the rhythm of each team, with an emphasis on minimizing the team's distraction so the work can get done (see "Interpreting CMMI When Using Agile Approaches" in Part I).



CM.SG 1 Establish baselines
Baselines of defined work results are established.
CM.SG 2 Track and Control Changes
Changes to work results under configuration management are tracked and controlled.
CM.SG 3 Establishing Integrity
The integrity of baselines is established and maintained.
CM.GG 1 Achieve specific goals
The specific objectives of configuration management (CM) (CMMI-DEV) are supported by the work processes by da ...
CM.GG 2 Institutionalizing guided processes
Workflows are institutionalized as guided processes.
CM.GG 3 Institutionalize defined processes
Workflows are institutionalized as defined processes.

Is contained in

Process areas alphabetically (CMMI-DEV)
Maturity level 2: Guided