Checkpoint documents:
Other documents:
|
The document is the configuration management plan. It should be possible
to use without additional effort or modification unless the configuration
management issues and needs are more challenging. This document describes
the overall configuration management goals, artifacts, processes and tools
for the project.
Configuration
Management Introduction: |
The intent for configuration management within the organization is to
serve as part of the basic software engineering practices that ensure our
smooth and effective operation. This really involves a few key goals
(drawn from HP Corporate Engineering's SEI/CMM documents):
Goals
-
Configuration management activities are planned.
-
Selected work products are identified, controlled, and available.
-
Changes to identified work products are controlled.
-
Affected groups are informed of the status and content of base lines.
Interpretation
-
There is a plan. (This document)
-
Individuals are given responsibility.
-
We track and record changes between release versions.
-
Version control includes the key artifacts: code, test cases, documentation,
etc.
-
We make sure that our source code base stays consistent.
-
We can recreate and/or restore any version.
The key artifacts of a project should be under configuration management:
area
|
artifacts
|
daily /
ongoing
|
check-
points
|
version release
|
Development
artifacts |
-
Source code (.c .cpp)
-
Header files (.h)
-
Images, bitmaps (.bmp)
-
Icons (.ico)
-
Installation package definition
|
suggested |
required |
required |
Generated
artifacts |
-
Executable code (.exe .dll)
-
Generated object code (.o)
-
Installation package
|
|
suggested |
required |
Planning
documents |
-
Project data sheet
-
Project plan
-
Quality plan
-
Requirements
-
Checkpoint slides and documentation
|
|
required |
required |
Custom
development
tools |
-
Build and Make scripts
-
Project files
-
Custom development tools
-
Custom tool configuration
-
Commercial tool configuration
|
|
suggested |
required |
Testing |
-
Test files & scripts
-
Test harness (tool) sources
-
Test harness (tool) executable
-
Release test results
-
Active defect lists
|
|
optional |
required |
Documentation |
-
Help files
-
Frequently asked questions (FAQs)
-
Reference documentation
-
Other user documentation
|
|
|
required |
Commercial development
tools |
-
Development tools
-
Tool configuration info & files
|
|
|
optional |
The assumption is that commercial development tools will have the original
software media and don't require versioning. This also assumes that
the organization system administrator or an identified team member will
be the official keeper of the commercial tools media and related patches
and update media. If the tools are acquired without media (i.e. the
web), then a CD-ROM or other physical archive of the tools will be created.
Project start |
-
A team member will be identified as the official SCM coordinator.
-
An SCM tool will be identified for the project.
-
An SCM structure will be defined for the project.
-
The coordinator will define the appropriate level of privileges for the
team. (Things like file/directory deletion, creation of new directories
and users.)
-
The team members will receive adequate instruction on the selected tool.
|
On-going / daily |
-
The team will do normal check-out's and check-ins of the files under configuration
management.
-
If a file is kept open for more than a day, the file should be checked
in at least once a day, unless it would break the build.
-
All file check-in's will include a meaningful comment.
|
System build |
-
All files will be checked in and unlocked.
-
The files used in the build will be tagged with an appropriate intermediate
label.
|
Checkpoint |
-
The SCM coordinator will check (audit) the SCM system status.
-
The SCM coordinator will check (audit) that all the appropriate artifacts
are under configuration management.
-
The organization system administrator will archive the complete project
information (including the SCM information).
|
Version release |
-
The SCM coordinator will include an SCM status report as part of the formal
release documentation.
-
The files used in the release will be tagged with an appropriate final
release label.
|
The project will use commercial off-the-shelf SCM tools.
Subcontractors:
When dealing with subcontractors, the SCM coordinator will ensure that
they are using adequate SCM techniques, tools and processes.
|