1.1.2 Plan Software Configuration Management

Overview

This activity describes all of the software configuration management (SCM) planning activities performed at project startup. These include determining the SCM needs; identifying the SCM activities that must be performed; setting up the SCM environment; developing the naming and numbering scheme, and the directory structure; creating a SCM Plan (SCMP) (see Appendix E), and providing SCM training.

Roles and Responsibilities

The project software manager provides information on the computer software configuration items (CSCI), schedule, and development activities to the SCM manager (this information may be recorded in the preliminary Software Development Plan (SDP) (see Appendix E)). The project software manager also is responsible for approving the completed SCMP.

The SCM manager performs all SCM planning for the project.

The system administrator aids in setting up the SCM directories and any other SCM tools used on the project.

Controls

The organization’s standard software process represented by this Guidebook.

The SCMP Data Item Description (DID) (see Appendix E).

Inputs

The preliminary SDP, which provides information on the products to be developed, the software engineering environment, and the complexity and type of software being developed.

Procedures

The SCM manager, assisted by the project software manager and the system administrator, sequentially performs the following subactivities, complying with the organization’s standard software process and the SCMP DID, and using the information provided in the preliminary SDP.

1) 1.1.2.1 Determine Project’s Software Configuration Management Needs. In this subactivity, the SCM manager performs a needs analysis, identifies the reports and forms to accomplish SCM, and determines the set of software products that will be controlled.

2) 1.1.2.2 Determine Project’s Software Configuration Management Activities. In this subactivity, the SCM manager determines SCM activities that must be performed and the individuals performing the activities. These activities include conducting Software Control Board (SCB) meetings, making backups of the software products, participating in the change management process, and conducting configuration audits.

3) 1.1.2.3 Select Software Configuration Management Tools. In this subactivity, the SCM manager selects SCM tools for use on the project. SCM tools fall into two general categories: 1) tools to track product status, Software Trouble Reports (see Appendix C), requests, etc., and 2) version-control tools (e.g., Polytron Version Control System (PVCS)).

4) 1.1.2.4 Develop Naming And Numbering Standards And Directory Structure. In this subactivity, the SCM manager determines the project’s naming and numbering standards. The SCM manager also determines the directory structures (and associated read and write privileges) to be used during the project to protect completed software products and to help develop new software products.

5) 1.1.2.5 Develop Software Configuration Management Plan. In this subactivity, the SCM manager completes the SCMP, most of which the SCM manager has developed in the preceding subactivities.

6) 1.1.2.6 Provide Software Configuration Management Training. In this subactivity, the SCM manager determines the SCM training needed by the software project group. After SCM processes are established and SCM tools are selected, all software developers and testers, as well as the managers and control board members, receive training in SCM processes and tools, and familiarize themselves with the SCMP.

Outputs

The project’s SCMP which has been approved by the project software manager.

The project’s directory structure which has been documented in the SCMP and implemented.

The SCM tools selected for use on the project.

An SCM training plan which has been incorporated into the Project’s Training Plan.