October 09, 2000 @ 08:20 pm·Filed under Books
By Alexis Leon, Artech House, Inc, 2000.
The Y2K problem has taught us the catastrophic
effects that can be caused due to uncontrolled and unmanaged
software development. The organizations and governments world over
has spent and is still spending billions in correcting the bugs
and errors introduced by the Y2K problem. The impact of the Y2K
problem could have been drastically reduced if the projects that
created the legacy systems followed Software Configuration
Management (SCM).
SCM is the discipline whose objective is the
identification of the configuration of software at discrete points
in time and the systematic control of changes to the identified
configuration for the purpose of maintaining software integrity,
traceability and accountability throughout the software life
cycle.
In order to accomplish the objective given in
the above definition, there are four SCM functions—identification,
control, status accounting and audits. In order to perform these
functions there should be people who are trained and have the
necessary expertise. Practicing configuration management in a
software project has many benefits including increased development
productivity, better control over the project, better project
management, reduction in errors and bugs, faster problem
identification and bug fixes, improved customer goodwill and so
on. But a single SCM solution is not suited for all the projects;
in fact each project is different and while the core SCM
objectives and functions remain the same, the SCM system has to be
tailored for each project.
In today’s highly complex and sophisticated
software development environments, in order to maintain ‘software
integrity, traceability and accountability’ a good SCM system is
a must. The software development environment is changing. Now a
single product can be developed by more than one company. Even in
the same company the different subsystems of the same
product/system could be developed by teams that are geographically
wide apart, say in different continents. So managing these
projects without any scientific tools will be inviting trouble
that could result in costly product recalls or project failures.
Software configuration management is the ideal solution for
managing the chaos and confusion in today’s complex software
development projects, as its primary objective is to bring in
control to the development process.
This book is about the practice of the SCM
discipline. The book starts with the basics—from the definition
of SCM, its objectives and functions—and explains SCM as it
should be practiced in the software development process. The
different phases in the software development lifecycle are
explained and how the SCM plays a role in each phase is discussed
in detail. The different phases of the SCM implementation life
cycle are also discussed. Another important aspect of this book is
that it does not relay on any specific tool for explaining the SCM
concepts and techniques. In fact one of the main objectives of
this book is to give the reader enough information about SCM, the
mechanics of SCM and SCM implementation. The book gives
information on how to select the right SCM tool for an
organization/project and how to implement the tool so that the
organization can reap the full benefits of SCM.
One of the very useful features of the book is
the appendices, specifically the appendices on SCM standards, SCM
Bibliography and SCM resources on the Internet. The SCM
Bibliography is very exhaustive and comprehensive and will be very
useful for research students. The SCM Internet resources give the
list of web sites that gives SCM related information. The short
descriptions about each site are very useful. The book also has a
companion web site that lists the links given in the appendices
and keep them current and updated.
This book is a must read for all software
professionals who are practicing configuration management in their
projects, project leaders and project managers who want to develop
a good software configuration management system in the
projects/organizations, managers who are in-charge of tool
selection and system implementation and for students who want to
understand the theory and practice of software configuration
management. This book will be useful for the tool vendors also as
the book talks about features that are not available in any of the
tool offerings.
|