Configuration Management Fundamentals: Process Description
Configuration Management Fundamentals: Process Description
The U.S. Air Force’s Software Technology Support Center offers an updated and condensed version of the “Guidelines for
Successful Acquisition and Management of Software-Intensive Systems” (GSAM) on its Web site <www.stsc.hill.af.mil/
resources/tech_docs>. This article is taken from Chapter 9 “Configuration Management” of the GSAM (Ver. 4.0). We
are pleased that all editions have been so well received and that many individuals and programs have worked hard to imple-
ment the principles contained therein. The latest edition provides a usable desk reference that gives a brief but effective overview
of important software acquisition and development topics, provides checklists for rapid self-inspection, and provides pointers
to additional information on the topics covered.
loss of funding. While all progress is of the configuration throughout the CM is comprised of four primary func-
Management
accompanied by change, not all change is product life cycle. tions: identification, change control, sta-
indicative of progress. If not properly CM accomplishes these purposes by tus accounting, and auditing. These are
handled, change can slip the schedule, answering and recording the answers to shown in Figure 2, along with their sub-
affect the quality, and even kill the project. the change questions: who, what, when, functions. All CM activity falls within the
As a project draws closer to its comple- and why, shown in Figure 1 [1]. Being able bounds of these functions.
tion, the impacts of change are more to answer these questions is a sign of
severe [1]. Clearly, a mechanism is needed effective CM.
to control change. Effective CM provides the following This function identifies those items
Identification
In software development and other essential benefits to a project: whose configuration needs to be con-
projects, proposed changes must be eval- 1. Reduces confusion and establishes trolled, usually consisting of hardware,
Figure 1: Configuration Management Questions order. software, and documentation. These
2. Organizes the activities necessary to items would probably include such things
maintain product integrity. as specifications, designs, data, docu-
3. Ensures correct product configura- ments, drawings, software code and exe-
Who makes changes?
ization [2].
Change
Accounting Control
typically put under CM control. Figure 2: Major Functions of Configuration Management [2]
resource usage, stock status (status of all
Figure 2:Status
Majoraccounting
Functionsis oftheConfiguration
documentationManagement
configuration[2]
items), changes in process,
Status Accounting
Requirements Specification and the • Provides for the storage and recovery
Interface Requirements Specification. In of archive versions of configuration
Software Software
date the system against the requirements. • Helps to ensure correct creation of
The PCA determines whether the design products from the software baseline
and reference documents represent the
Review
library.
Board Analyze
software that was built. Configuration • Provides storage, update, and retrieval
and
Assess Impact
dures.
Board Change Enhancements
• Identifying who will perform the Today, with the advances in information
Engineering
Change
Figure 3: Generic Change Process [5] products created during the software life
practice is another. As with most project
Evaluate
that all change requests have been release of software products, are system- activities, CM begins with planning. With
Change
Plan CM Program Proposal
audits are conducted at Change key phases of the software library provides the following:
Incorporate Yes No Archive
ThereEstablish
are two types of formal audits Software Configuration Management These three major CM implementation
activities are shown in Figure 4.
Baselines
that are conducted before the Develop
software is (SCM).
delivered to the customer: Functional of Identifiers • Provides for the storage and retrieval
Identify Items Identify Baselines Schema
that the softwareand satisfies the software of configuration items or units be- process and establishing procedures for
requirements stated in the System tween control levels within the library. controlling and documenting change. A
Control, Document, Audit Configuration
tial, there may need to be other CCBs to ate configuration baseline is then updated, menting and submitting proposed
control change in other areas of the proj- along with all other applicable documents, changes?
ect. Again, this is something that should and reports are published and sent to Is the CCB active and responsible in
be worked out in the planning phase. affected organizations indicating the evaluating and approving changes?
❑
Various software tools exist that can changes that have occurred. At selected Is there a higher authority to appeal to
facilitate the CM process flow and main- time intervals and whenever there appears when the CCB gets hung, and cannot
❑
tain configuration history. Using a CM to be a need, products and records are come to a consensus?
software tool is highly recommended. audited to ensure the following: Are all changes tracked until they are
The temptation will be to choose a tool • The actual configuration matches the fully implemented?
❑
because it looks good in a demonstration documented configuration. Are all changes fully documented in
and then build the CM process around it. the baseline documents and change
❑
• The configuration is in conformance
The process should be defined first, and with project requirements. histories?
then a tool chosen to facilitate the • Records of all change activity are Are regular reports and configuration
process. updates published and distributed to
❑
complete and up-to-date.
The controlling, documenting, auditing interested organizations?
cycle is repeated throughout the project Are regular audits and reviews per-
Once the CM program exists on paper, it formed to evaluate configuration
Establishing Baselines ❑
until its completion.
must be determined just what configura- integrity?
tions it will control. The second major Are configuration errors dealt with in
step of implementing effective CM is an efficient and timely manner?
Updating the CM Process ❑
It is unlikely a perfect CM program will be
identifying what items, assemblies, code, assembled during the initial planning
data, documents, systems, etc. will fall stage. There will be learning and changes
under configuration control. With the ❑ Is the CM program itself – its effi-
Updating the Process
in the program that indicate a need for
configuration items identified, the base- adjustments in the CM process. These ciency, responsiveness, and accuracy –
line configuration must be identified for may be any mixture of modifications to evaluated regularly?
each item. For items that already exist, it make it more efficient, responsive, or ❑ Is the CM program modified to
may prove to be nothing more than exam- accurate. When changes in the CM include recommended improvements
ining or reviewing and then documenting. process are needed, consider them as you when needed?
For those items that have not been devel- would any other changes, get the approval
oped yet, their configuration exists in the of all participating organizations, and Case Studies
requirements database or in the project implement them as appropriate. It would The following case studies outline specif-
plans. Until they come into physical or be ironic indeed to have an unchanging ic instances where organizations success-
software reality, changes to their configu- change process. fully implemented software CM (SCM).
ration will consist only of changes to the
requirements or plans.
Another essential activity in this step At a large aerospace corporation in the
Configuration Management Selecting a CM Tool
the challenge becomes one of keeping the ❑ Has CM software been chosen to address other developmental considera-
actual and documented configurations facilitate your CM process? tions that the engineering ranks felt were
identical. Additionally, these baselines important. Sometime later a different tool
must conform to the configuration speci- was purchased, one that satisfied all the
❑ Have all configuration items been
Establishing Baselines
fied in the project requirements. This is an major requirements of SCM, the software
iterative process consisting of the four identified? developers, SQA, test, integration, and
steps shown in Figure 4. ❑ Have baselines been established for all management organizations.
All changes to the configuration are configuration items?
reviewed and evaluated by the appropriate ❑ Has a descriptive schema been devel-
configuration control representatives oped to accurately identify configura- During a recent visit to a private-sector
Overcoming Barriers to SCM
specified in the CM plan. The change is tion items and changes to their config- corporation (i.e., they did not deal with
either approved or disapproved. Both uration? government contracts) in New England,
approvals and disapprovals are document- it was discovered that the developer’s
ed in the CM history. Approved changes Controlling, Documenting, and major concern about implementing CM
are published and tracked or monitored activities was all the restrictions they would
❑ Is there a formal process for docu-
Auditing
until they are implemented. The appropri- have to deal with. They had been led to
believe that CM meant formal controls, file used in the system including change work force.
restricted access, limited ability to apply documents, baselines, and releases for • Control Transitions. Informal to
creative solutions, and so on. When it was each file. Note that rule-based, closed- formal to field.
suggested that data can transition to for- loop change control electronically imple- • Records Retention. What gets kept
mally controlled baselines through a series mented business rules that prevented the where and for how long?
of informal control steps, and that CM creation of a new version without author- • Control. Who controls what and how
did not mean a lockdown and bottleneck, ization and prevented closure of a change do they do it?
they became eager to be involved. After a request that had not been implemented. • Process. Standardized procedures for
number of meetings, a phased approach A change-package approach supports repeatability.
to formal CM allowed for the placement electronic creation of new baselines by
of informal controls and data gathering application of changes to a previous base-
which led to baselined items. Everyone line. The tool electronically adds, replaces, The most significant lessons are the fol-
Things to Remember
was pleased with the process. or removes files that are related to the list lowing:
The developers soon realized they of changes being made and is very effec- • Get an inside person on your side – an
could work together with CM as a team to tive in tracking development activities. internal champion. They will become
solve problems rather than as two sepa- (Note that Effective SCM is an unregistered an evangelist for your solution to their
rate organizations with their own con- trademark of BOBEV Consulting. For a co-workers.
cerns and desired solutions. More impor- complete description, see “Effective • Get management buy-in and sponsor-
tantly, perhaps, the CM group learned Software Configuration Management” in ship. Management must really want it,
that when they got out of their corner CrossTalk February 1998.) not just go along with it. All levels of
office and out onto the engineering floor management need to support SCM.
(being support and service oriented) they Lessons Learned While implementing SCM, keep a
quickly became an integral part of the The following are just a sample of the many focus on management sponsorship at
engineering and development process lessons that have been learned from apply- all times.
and team. ing CM and its associated technologies. • Maintain a sense of humor.
• Be flexible and sensitive to corporate
culture.
With only a few exceptions, if you look at • Seek out the early success.
Implementing CM With an The Importance of Planning
A team of 35 to 40 developers was devel- any of the CM standards, manuals, guides, • Do not use a critical project as pilot.
Electronic Database
oping six computer software configura- books, etc., you will likely find that CM • Use a systems approach: Where am I?
tion items, which all had two or more cus- has four major functions: (1) identifica- Where do I want to go? How am I
tomer variants as well as maintenance tion, (2) change control, (3) status going to get there?
variants. The operating system was Unix, accounting, and (4) auditing. In nearly • Success is more likely with lots of
and the development languages were every case, planning is left out. Yet, SCM preparation, focus on CM and devel-
Ada, C, and C++. Implementing classical is using much more complex equipment oper needs, breadth of participation,
CM in this type of environment would to establish and maintain complex envi- online access to sample process and
normally require three to four CM practi- ronments, multiple baselines, multiple planning templates, and standard ter-
tioners to handle all the code and docu- environments on multiple platforms, etc. minology.
ment manipulations. The team chose Like everyone else, CM has to do all that • Keep it simple. If it is too complex, or
instead to implement a mostly developer- faster, cheaper, smarter, and better than gets in the way, it will not get used.
executed CM system called Effective SCM. before. Planning has become more • Communicate, communicate, commu-
They implemented a Software Query important than ever. nicate.◆
Language-compliant, database driven, Planning cannot be interpreted as
process oriented CM system, which sup- meaning a CM Plan has been written. That is References
ports a rule-based, closed-loop, change- certainly a good start, but much more is 1. Software Technology Support Center.
package approach to development. needed than just a document that explains “Life Cycle Software Project Manage-
Daily interaction with the CM system SCM’s roles and responsibilities. CM plan- ment.” STSC Seminar, 9 Oct. 2001.
by the developers provided 100 percent ning activities must also include, to name 2. Software Program Managers Net-
tracking and status accounting of every- only a few, such things as the following: work. “Little Book of Configuration
thing that happened to any file in the sys- • Metrics. How long? How many arti- Management.” Software Program
tems without the need for intrusion or facts? When were they created? When Managers Network, Nov. 1998 <www.
interference by CM practitioners. The CM were they updated? Where are they? spmn.com/products.html>.
practitioners maintained the process • Skill Mix. What is needed and who 3. Institute of Electrical and Electronics
model and performed the configured has it or who can get it? Engineers. “Standard 610.12-1990
builds. As a result, CM support to this • Infrastructure. Who is doing what, IEEE Standard Glossary of Software
team was less than one person, and in fact where, when, and how? Engineering Terminology.” New
was in the order of 80-120 hours per • Contingencies. If this happens, then York: IEEE, 1990.
month instead of the more than 400 what? 4. Kasse, Tim. Software Configuration
hours per month that a classical approach • Effort Tracking. Manpower levels. Management for Project Leaders.
would have used. • Subcontracts. Who has responsibility Proc. of Software Technology Con-
The electronic database created by the and authority? ference, Apr. 1997.
engineers completely documented the • Resources. Budget, tool licenses, 5. Berblack, Ronald H. Software Config-
execution of their software development training, and head count. uration Management. John Wiley &
plan. It also tracked the history of every • Matrix Management. Decentralized Sons, New York, 1992.
WEB SITES
Configuration Management Data Interchange Standards Association
Yellow Pages http://www.disa.org
www.cmcrossroads.com/yp/index.php?oldpage= Home to numerous organizations developing e-business stan-
configuration_management.html dards, the Data Interchange Standards Association helps indi-
The Configuration Management Yellow Pages is a categorized viduals and the business community improve business process-
database of links to configuration management and develop- es, reduce costs, increase productivity, and take advantage of
ment resources. The site, originally created by Andre van der new opportunities.
Hoek, is now hosted at CM Crossroads in a format that allows
any member to add or update a new resource and to review and Software Technology Support Center
rate existing ones. www.stsc.hill.af.mil
The Software Technology Support Center is an Air Force organ-
Test and Measurement World ization established to help other U.S. government organizations
www.tmworld.com identify, evaluate, and adopt technologies to improve the quali-
This is the online version of Test & Measurement World and Test ty of their software products, efficiency in producing them, and
& Measurement Europe, which cover the electronics testing to accurately predict the cost and schedule of their delivery.
industry, providing how-to information for engineers who test,
measure, and inspect electronic devices, components, and sys-
Institute of Electrical and Electronics
Engineers
tems. www.ieee.org
The IEEE promotes the engineering process of creating, devel-
Software Configuration Management oping, integrating, sharing, and applying knowledge about elec-
www.sei.cmu.edu/legacy/scm trical and information technologies and sciences. IEEE provides
This is the Software Configuration Management area of the technical publications, conferences, career development assis-
Software Engineering Institute’s (SEI) Web site. This area is tance, financial services and more.
intended to share the configuration management research done
by the SEI between 1988 and 1994 and to provide pointers to Practical Software and Systems
other useful sources of information on Software Configuration Measurement
Management. www.psmsc.com
Practical Software and Systems Measurement (PSM): A
Software Testing Institute Foundation for Objective Project Management was developed
www.softwaretestinginstitute.com to meet today's software and system technical and management
The Software Testing Institute (STI) provides industry publica- challenges. The Department of Defense and the U.S. Army
tions, research, and online services, including a software testing sponsor PSM. The goal of the project is to provide project man-
discussion forum, the STI Resource Guide, the Automated agers with the objective information needed to successfully meet
Testing Handbook, STI Buyer’s Guide, and more. cost, schedule, and technical objectives on programs.