Page 254 -
P. 254
CHAPTER
9 SOFTWARE CONFIGURATION
MANAGEMENT
KEY hange is inevitable when computer software is built. And change
CONCEPTS increases the level of confusion among software engineers who are
access control . . . 234 Cworking on a project. Confusion arises when changes are not analyzed
baselines. . . . . . . 227 before they are made, recorded before they are implemented, reported to those
change control . . 234 with a need to know, or controlled in a manner that will improve quality and
configuration reduce error. Babich [BAB86] discusses this when he states:
audit . . . . . . . . . . 237
The art of coordinating software development to minimize . . . confusion is called
configuration's configuration management. Configuration management is the art of identifying, orga-
objects. . . . . . . . . 229
nizing, and controlling modifications to the software being built by a programming
identification . . . 230
team. The goal is to maximize productivity by minimizing mistakes.
SCIs . . . . . . . . . . . 228
Software configuration management (SCM) is an umbrella activity that is
SCM process. . . . 230
applied throughout the software process. Because change can occur at any
status reporting. 237
time, SCM activities are developed to (1) identify change, (2) control change,
synchronization (3) ensure that change is being properly implemented, and (4) report changes
control. . . . . . . . . 234
to others who may have an interest.
version control. . 232
It is important to make a clear distinction between software support and
software configuration management. Support is a set of software engineering
activities that occur after software has been delivered to the customer and put
QUICK What is it? When you build com- Why is it important? If you don’t control change, it
LOOK puter software, change happens. controls you. And that’s never good. It’s very easy
And because it happens, you for a stream of uncontrolled changes to turn a
need to control it effectively. Software configura- well-run software project into chaos. For that rea-
tion management (SCM) is a set of activities son, SCM is an essential part of good project man-
designed to control change by identifying the agement and solid software engineering
work products that are likely to change, estab- practice.
lishing relationships among them, defining mech- What are the steps? Because many work products
anisms for managing different versions of these are produced when software is built, each must
work products, controlling the changes imposed, be uniquely identified. Once this is accomplished,
and auditing and reporting on the changes mechanisms for version and change control can
made. be established. To ensure that quality is main-
Who does it? Everyone involved in the software engi- tained as changes are made, the process is
neering process is involved with SCM to some audited; and to ensure that those with a need to
extent, but specialized support positions are some- know are informed about changes, reporting is
times created to manage the SCM process. conducted.
225