SCMP - Software Configuration Management Plan

The title of this page has been changed. If you are using a bookmark to get here, please updated it.

You should be redirected to https://swehb.nasa.gov/display/SWEHBVD/5.06+-+SCMP+-+Software+Configuration+Management+Plan. If you do not get there in 2 seconds, click the link to go there.

5.06 - SCMP - Software Configuration Management Plan Web Resources Unknown macro:

1. Minimum Recommended Content

Minimum recommended content for the Software Configuration Management Plan.

  1. The project organization(s).
  2. Responsibilities of the software configuration management organization.
  3. References to the software configuration management policies and directives that apply to the project.
  4. All functions and tasks required to manage the configuration of the software, including configuration identification, configuration control, status accounting, and configuration audits and reviews.
  5. Schedule information, which establishes the sequence and coordination for the identified activities and for all events affecting the plan's implementation.
  6. Resource information, which identifies the software tools, techniques, and equipment necessary for the implementation of the activities.
  7. Plan maintenance information, which identifies the activities and responsibilities necessary to ensure continued planning during the life cycle of the project.
  8. Release management and delivery.

2. Rationale

Configuration management is the "process of identifying and defining the configuration items in a system, controlling the release and change of these items throughout the system life cycle, recording and reporting the status of configuration items and change requests, and verifying the completeness and correctness of configuration items." 276 This work can only be properly accomplished if there exists a plan addressing all of these activities, which has been reviewed by an appropriate set of stakeholders and tailored for a specific project's needs.

3. Guidance

The Software Configuration Management (SCM) Plan may be tailored by software classification. Goddard Space Flight Center's (GSFC's) 580-STD-077-01, Requirements for Minimum Contents of Software Documents, provides one suggestion for tailoring an SCM Plan based on the recommended contents and the classification of the software being developed.

When creating an SCM Plan, using a template ensures consistent plans for all projects at a Center. Consider the following guidance, listed by the recommended elements, to ensure that all content is properly addressed and tailored for the project. See also SWE-079 - Develop CM Plan.

3.1 Project organization(s)

Consider the following when writing the project organization section of the SCM Plan:

3.2 Responsibilities

The responsibilities of the SCM organization include:

3.3 References to SCM policies and directives

This section of the SCM Plan needs to list any specific SCM policies and directives that apply to or impact SCM for the project. Those policies and directives may be named in a reference section of the plan, so referring to that section may be appropriate. However, the impact of those policies and directives on SCM for the project is described here.

3.4 All functions and tasks required to manage the configuration of the software

This section of the plan describes configuration identification, configuration control, status accounting, and configuration audits and reviews. Guidance for each of these topics is found in the related requirements (see table below) in this Handbook.

This section of the SCM Plan describes how each of these SCM functions will be performed. Consider using a separate subsection for each of the four functions. As appropriate for the project, the following highlights are to be included but are not to be considered the only items to document:

If the project uses data management in addition to SCM, those activities are described in this section of the SCM Plan, including:

3.5 Schedule

This section of the plan includes information necessary to describe the sequence and coordination for the identified activities and for all events affecting the plan's implementation (NPR 7150.2). The SCM schedule needs to coordinate with the project schedule, and this part of the SCM Plan shows that coordination. Graphics (timelines) may be useful.

Typically, configuration items are uncontrolled until some gate or milestone is reached, at which time they are required to be placed under configuration control. Each configuration item or group of items may have its own gate. Because those gates can be points in the project timeline, consider describing those gates in this section.

Also consider for the SCM schedule:

3.6 Resources and Tools

NASA Software Safety Guidebook - NASA-GB-8719.13

4.5 Software Configuration Management
"Software Configuration Management is usually performed using a tool (program). However, a file or folder needs to be maintained, to collect information that is not in electronic form. This information could include the design notes scribbled on a napkin or a fax that only exists in hard-copy. The point is to collect all pertinent information in one place. It is a good idea to catalog all the hardcopy information in the electronic SCM system, so that it can be found again when needed." 276

The resources section of the SCM Plan describes the software tools, techniques, and equipment that will be used to carry out SCM for the project. References to the relevant documentation for installing and using these tools is included, as well as the configuration controls for each tool.

Typical resources include:

3.7 Plan maintenance

Paraphrasing from NPR 1441.1E - NASA Records Management Program Requirements,

The maintenance section provides information such as:

3.8 Release management and delivery

NASA-GB-8719.13, NASA Software Safety Guidebook, 276 states: "Configuration Management should act as the sole distributor of media and documentation for all system tests and for delivery to [sub]system integration and testing. Pulling the latest program off the developer's machine is not a good idea. One aspect of system testing is repeatability, which can only be assured if the software under test comes from a known, and fixed, source." 276

The release management and delivery activity is described in this portion of the SCM Plan (see SWE-085 - Release Management for release management guidance), including formal control of the build, release, and delivery of software products and documentation.

Additional guidance related to the content of the configuration management plan may be found in the following requirements in this Handbook:

3.9 Additional Guidance

Links to Additional Guidance materials for this subject have been compiled in the Relevant Links table. Click here to see the Additional Guidance in the Resources tab.

4. Small Projects

Configuration management activities are based on risk, so projects designated small by size of the team or budget need to ensure that their Software Configuration Management (SCM)Plans include all the recommended content, while including only those processes and the associated structure necessary to manage project risk. This might mean planning to use simpler tools or fewer personnel (filling multiple roles) to carry out the SCM processes. It could also mean planning to use a single tool for multiple purposes to reduce tool management and overhead.

Small projects may not require the formality of a separate SCM Plan; instead, SCM planning may be documented as a section of the project's Software Management Plan. Alternatively, one master SCM Plan may document configuration management for multiple small projects.