1.1.2.3 Select Software Configuration Management Tools

Overview

In this activity, the software configuration management (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, requests, and 2) version control tools (e.g., Polytron Version Control System, PVCS ).

Roles and Responsibilities

The SCM manager is responsible for selecting SCM tools for the project.

The system administrator is responsible for installing the selected SCM tools.

The project software manager is responsible for approving and scheduling the purchase of any SCM tools.

Controls

The software engineering environment, as documented in the Establishing a Software Development Environment section of the Software Development Plan (SDP) (see Appendix E).

Inputs

The SCM forms that have been tailored for use on the project, as documented in the Configuration Control section of the partially completed SCM Plan (SCMP) (see Appendix E).

The completed Software Configuration Management Needs Form (see Appendix C), which indicates the level of SCM required on the project.

The completed software product list of software products to be kept under SCM control.

The set of SCM tools available within the organization which may be identified via the organization’s tool database.

Procedures

1) The SCM manager reviews the Establishing a Software Development Environment section of the SDP, SCM forms that will be used on the project, the software product list, and completed Software Configuration Management Needs Form(s) to gain an understanding of the software engineering environment and items that must be tracked. The SCM manager begins to identify the SCM tools needed by the project. Normally, a version control tool and a tracking system (e.g., a SCM database) are required for most projects.

2) The SCM manager identifies any SCM tools in use or available in the organization via the organization’s tool database.

3) The SCM manager reviews the available tools that support the platform(s) used on the project. The SCM manager selects the ones that best seem to fit the project’s needs, and ensures that the system administrator makes these tools available to project personnel. When selecting an SCM tool, the SCM manager takes the following into account:

If suitable tools are not available in the organization, the SCM manager may contact commercial vendors, or it may be possible to develop a tool in-house.

An example of a simple in-house solution is using a spreadsheet to track the status (e.g., baselined, integrated, under development, planned) of each software product. This may be an extension of the software product list, in which columns are added to show the status, expected completion date, actual completion date, responsible developer or group, etc.

4) If necessary, the SCM manager works with the SCM tool vendors to conduct demonstrations and work out discrepancies between project needs and tool functionality. There are always trade-offs between needs and tool capability. Tool selection is critical. To identify the tool offering the best fit, the SCM manager takes a close look at ease of tool use, protection of items, cost, future growth of the software project, and tool vendor support.

5) If a tool is being purchased from a vendor, the SCM manager obtains approval from the project software manager, orders the tool, and then has the system administrator install it.

6) The SCM manager documents the selected SCM tools in the Tools section of the SCMP.

Outputs

The project’s SCM tools which have been selected and installed.

The Tools section of the SCMP which documents the SCM tools selected.