Software Configuration Management Plan
Revision: 1.4
Date: 2006/05/10 15:00:00

Contents

1  Introduction
    1.1  Revision History
    1.2  Acronyms
    1.3  Terms
2  SCM Management
    2.1  Organization
    2.2  SCM Responsibilities
    2.3  Policies, procedures
3  SCM activities
    3.1  Configuration Identification
        3.1.1  CIs Identification
        3.1.2  Naming CIs
        3.1.3  Acquiring CIs
    3.2  Configuration Control
        3.2.1  Requesting Changes
        3.2.2  Implementing Changes
    3.3  Configuration Status
    3.4  Configuration Audit & Review
    3.5  Interface Control
4  SCM Schedules
5  SCM Resources

1  Introduction

This Software Configuration Management Plan (SCMP) describes how the artifacts for the XYZ project are to be managed. The table of contents of this SCMP loosely follows that of IEEE standard 828-1990.

1.1  Revision History

The latest version of the document is also available in postscript as scmp.ps or as latex source in scmp.tex.
rev. date author comments
1.4 2001/11/18 13:36:41 dvermeir Initial release.
1.3 2001/11/18 13:20:55 dvermeir First version, still to be checked.
1.2 2001/11/18 10:12:07 dvermeir Added bibliography, acronyms, terms.
1.1 2001/11/18 09:24:15 dvermeir Initial ci.

1.2  Acronyms

SCMP
Software Configuration Management Plan. This document.
IEEE
Institute of Electrical and Electronics Engineers.
CVS
Concurrent Versioning System.
CI
Configuration Item.
CL
Configuration Leader.
CM
Configuration Management.
PM
Project Manager.
STD
Software Test Document.
SPMP
Software Project Management Plan.
SQAP
Software Quality Assurance Plan.

1.3  Terms

Artifact:
A final or interim product of the project.
Repository:
Directory tree where all CI's that are under CVS control are kept. Normally, the repository is never accessed directly, but only through cvs commands. Using e.g.
cvs co ProjectName
a user can build a local working copy of the repository version.
Project Leader:
Synonym for Project Manager in this project (see [Smi01]).

2  SCM Management

2.1  Organization

A specific engineer will be designated as the Configuration Leader (CL) for the duration of the project.

2.2  SCM Responsibilities

Configuration Leader
Organizing and managing CM, in collaboration with the PM and the rest of the team.
  1. Maintain the SCMP (this document).
  2. Ensure uninterrupted availability of CM tool.
  3. Ensure availability of repository, subject to the policies and procedures of section 2.3, 3.2 and 3.3.
  4. Further responsibilities can be found in section 2.3 and 3.2.
Project Leader
 
  1. Backup for CL.
  2. CI identification (see section 3.1).
  3. Approving CI changes (section 3.2).
Engineers
abide by the published CM rules (section 2.3, 3.2).

2.3  Policies, procedures

  1. CVS will be used as the sole CM tool.
  2. Every engineer will only use cvs commands from within his own login on the server, so that all changes on CI's can be attributed.
  3. Every engineer will maintain a complete version of the project repository in his home directory.

3  SCM activities

3.1  Configuration Identification

3.1.1  CIs Identification

  1. The PM decides on all CIs. Engineers wishing to propose a new CI shall secure her agreement by email. If no reply is received within 24hrs, the CL shall have the authority to accept or reject the item.
  2. Only files that cannot be easily and automatically reconstructed can be CIs. E.g. .tex files are usually CIs while .dvi or .ps files are not.
  3. The repository will be kept in wilma:/home/se0/cvsroot/xyz

3.1.2  Naming CIs

The structure of the repository is shown below.

xyz/
The root directory. Autotools files such as configure.in, libtool etc. are kept in this directory.
plans/
CIs pertaining to the SCMP, SPMP, SQAP.
timesheets/
CIs pertaining to time sheets, one per engineer.
minutes/
Minutes of meetings. These files have a name of the form yyyy-mm-dd.txt.
requirements/
CIs pertaining to requirements, e.g. SRS.
doc/
All documents, possibly automatically generated, pertaining to the design (except for .h files which are stored in the code base.
xyz/
Code base, including unit test source code and data. Further structure to be decided. Note that the use of autotools strongly suggests the name of this directory.
test/
All documents pertaining to testing, except unit testing, e.g. STD.

In addition, each directory contains

  1. A Makefile.am whose default target rebuilds all derived items in the subtree of that directory.
  2. A README file that briefly describes the content of the directory.

The conventions to be used to name different types of CIs are listed in table 1.

pattern type of CI
name.tex latex source
name.txt plain text
name.C C++ source
name.h C++ header file
name.x.in autoconf input to generate name.x
Makefile.am automake file
doxygen.conf doxygen configuration file
README plain text
name.html html

Table 1: CI naming conventions

TODO:Naming conventions for test CIs

3.1.3  Acquiring CIs

Engineers shall use the following commands to

3.2  Configuration Control

TODO:This should probably be refined. Perhaps the notion of an ``owner'' of CI should be introduced.

3.2.1  Requesting Changes

3.2.2  Implementing Changes

No change to the codebase may be done without a successful (regression) unit test of the relevant units.

3.3  Configuration Status

3.4  Configuration Audit & Review

3.5  Interface Control

The repository will be available on the website through the use of viewcvs.
TODO:Describe in some detail.

4  SCM Schedules

week what
1 bring up repository
2 weekly build
3 weekly build
4 weekly build
5 weekly build
6 weekly build
7 weekly build, CM process improvement review
8 weekly build
9 weekly build
10 weekly build
11 weekly build
12 weekly build
13 weekly build

5  SCM Resources

The CM effort of the CL is estimated at 4hrs/week for the initial three weeks, this includes effort spent on After 4 weeks, CM will be in steady state mode and the effort of the CL will be reduced to 2hrs/week for

References

[Smi01]
John Smith. Xyz software project management plan. july 2001.



File translated from TEX by TTH, version 3.02.
On 18 Nov 2001, 14:36.