Monday, July 2, 2007

Configuration Management: Specific Practices by Goal SG1

SG 1 Establish Baselines
Baselines of identified work products are established. Specific practices to establish baselines are covered by this specific goal. The specific practices under the Track and Control Changes specific goal serve to maintain the baselines. The specific practices of the Establish Integrity specific goal document and audit the integrity of the baselines.


SP 1.1 Identify Configuration Items
Identify the configuration items, components, and related work products that will be placed under configuration management.
Configuration identification is the selection, creation, and specification of the following:
· Products that are delivered to the customer
· Designated internal work products
· Acquired products
· Tools
· Other items that are used in creating and describing these work products
Items under configuration management will include specifications and interface documents that define the requirements for the product. Other documents, such as test results, may also be included, depending on
their criticality to defining the product.
A "configuration item" is an entity designated for configuration management, which may consist of multiple related work products that form a baseline. This logical grouping provides ease of identification
and controlled access. The selection of work products for configuration management should be based on criteria established during planning.

For Systems Engineering
In a system that includes both hardware and software, where software represents a small part of the system, all of the software may be designated as a single configuration item. In other cases, the software may be decomposed into multiple configuration items.
Configuration items can be decomposed into configuration components and configuration units. Only the term "configuration item" is used in this process area. In these practices, "configuration item" may be
interpreted as "configuration component" or "configuration unit" as appropriate. For example, configuration items in the area of requirements management could vary from each individual requirement
to a set of requirements.

Typical Work Products
1. Identified configuration items

Subpractices
1. Select the configuration items and the work products that compose them based on documented criteria.
Example criteria for selecting configuration items at the appropriate work product level include the following:
· Work products that may be used by two or more groups
· Work products that are expected to change over time either because of errors or change of requirements
· Work products that are dependent on each other in that a change in one mandates a change in the others
· Work products that are critical for the project
Examples of work products that may be part of a configuration item include the following:
· Process descriptions
· Requirements
· Design
· Test plans and procedures
· Test results
· Interface descriptions
For Software Engineering
Examples of software work products that may be part of a configuration item include the following:
· Code/module
· Tools (e.g., compilers)

2. Assign unique identifiers to configuration items.

3. Specify the important characteristics of each configuration item.
Example characteristics of configuration items include author, document or file type, and programming language for software code files.

4. Specify when each configuration item is placed under configuration management.
Example criteria for determining when to place work products under configuration management include the following:
· Stage of the project life cycle
· When the work product is ready for test
· Degree of control desired on the work product
· Cost and schedule limitations
· Customer requirements

5. Identify the owner responsible for each configuration item.

SP 1.2 Establish a Configuration Management System
Establish and maintain a configuration management and change management system for controlling work products. A configuration management system includes the storage media, the procedures, and the tools for accessing the configuration system.
A change management system includes the storage media, the procedures, and tools for recording and accessing change requests.

Typical Work Products
1. Configuration management system with controlled work products
2. Configuration management system access control procedures
3. Change request database

Subpractices
1. Establish a mechanism to manage multiple control levels of configuration management.
Examples of situations leading to multiple levels of control include the following:
· Differences in the levels of control needed at different times in the project life cycle
(e.g., tighter control as product matures)
· Differences in the levels of control needed for different types of systems (e.g., software-only systems versus systems that include hardware and software)
· Differences in the levels of control needed to satisfy privacy and security requirements for the configuration items

2. Store and retrieve configuration items in the configuration management system.
Examples of configuration management systems include the following:
· Dynamic (or developer’s) systems contain components currently being created or revised. They are in the developer's workspace and are controlled by the developer. Configuration items in a dynamic system are under version control.
· Master (or controlled) systems contain current baselines and changes to them. Configuration items in a master system are under full configuration management as described in this process area.
· Static systems contain archives of various baselines released for use. Static
systems are under full configuration management as described in this process
area.

3. Share and transfer configuration items between control levels within the configuration management system.

4. Store and recover archived versions of configuration items.

5. Store, update, and retrieve configuration management records.

6. Create configuration management reports from the configuration
management system.

7. Preserve the contents of the configuration management system.
Examples of preservation functions of the configuration management system
include the following:
· Backups and restoration of configuration management files
· Archiving of configuration management files
· Recovery from configuration management errors

8. Revise the configuration management structure as necessary.

SP 1.3 Create or Release Baselines
Create or release baselines for internal use and for delivery to the customer.

A baseline is a set of specifications or work products that has been formally reviewed and agreed upon, that thereafter serves as the basis for further development, and that can be changed only through change
control procedures. A baseline represents the assignment of an identifier to a configuration item and its associated entities.

For Systems Engineering
Release of a baseline involves approving a set of configuration data for the agreed-upon set of configuration
items from the configuration management system and releasing the baseline for further development. Multiple baselines may be used to define an evolving product during its development cycle. One common set includes the systemlevel requirements, system-element-level design requirements, and the product definition at the end of development/beginning of production. These are referred to as the "functional baseline," "allocated baseline," and "product baseline."


For Software Engineering
A set of requirements, design, source code files and the associated executable code, build files, and user
documentation (associated entities) that have been assigned a unique identifier can be considered to be a baseline. Release of a baseline constitutes retrieval of source code files (configuration items) from the configuration management system and generating the executable files. A baseline that is delivered to a customer is typically called a "release" whereas a baseline for an internal use is typically called a "build."

Typical Work Products
1. Baselines

2. Description of baselines

Subpractices
1. Obtain authorization from the configuration control board (CCB) before creating or releasing baselines of configuration items.
2. Create or release baselines only from configuration items in the configuration management system.
For Systems Engineering
Ensure that the configuration items are built to the correct drawing.
3. Document the set of configuration items that are contained in a baseline.
4. Make the current set of baselines readily available.