Electronic Review of Computer Books

[ ERCB Home | New | Feature | Brief | DDJ | Letters | Links ]

[an error occurred while processing this directive]

Vital Statistics

Title

A Guide to Software Configuration Management

Author

Alexis Leon

Publisher

Artech House Computing Library
http://www.artechhouse.com/

Copyright

2000

ISBN

1-58053-072-9

Pages

382

Price

$79.00


Something More than Version Control

Software configuration management, SCM henceforth, has been identified as one of the key process areas related to software project management. In fact, it is an integral part of the SEI Capability Maturity Model for Software (SW-CMM) at Level 2, which deals with basic project management activities such as requirements management or project planning. SCM location in the CMM model shows its importance in software development but, unfortunately, it is often wrongly dismissed as a bureaucratic activity which keeps programmers apart from doing the real work. Even worse, academic writers (and their usually dry style) have not attracted enough attention into SCM activities, whose support function could make or break a project. SCM actually brings many benefits to software developers working in teams, and, yes, it is really helpful even if you work alone. Alexis Leon teaches us how in his easy-to-read book.

SCM purpose is to maintain the integrity of the products of the software project throughout its life cycle. As Alexis Leon point out, SCM addresses four common kinds of problems: communication problems which appear when the number of communication paths increase within the project team, problems caused when a developer is not aware of the latest changes to software configuration items shared among project members, problems related to the maintenance of multiple versions of a given item, and problems with simultaneous updates of shared components.

Software complexity and its changing nature make SCM a must in software development projects. Thanks to SCM activities, the problems mentioned in the previous paragraph can be avoided, productivity is improved (since rework diminishes), maintenance costs are more controlled, and automated activities such as defect logging and tracking can make your life easier (at least, they certainly make easier the life of the QA team members).

Once the need and importance of SCM are identified, Alexis Leon briefly presents its basic concepts, both the usual terminology (which includes terms such as baseline, version, branch, or release) and the main activities performed to control change. These activities are later discussed in separate chapters:

The book does not stop here, however, since it provides a comprehensive survey of SCM topics, from the activities and phases involved in the introduction of SCM techniques in your shop to the peculiarities of SCM in very large projects and current trends in the SCM industry. You will also find useful guidelines to create your company SCM plan and alternative organization structures to put SCM in practice.

As you may suppose, tool support is essential to perform many SCM activities. In the book, the author discusses the evolution of SCM tools, from simple change control tools (such as RCS or CVS) to the "bigger, better & bolder" integrated tools that vendors try to sell nowadays. An appendix also provides brief descriptions of many public domain and commercial tools, which could guide your search for the tool which fits your organization. Unfortunately, these brief descriptions are only informative. They do not provide the insight which would make this book an invaluable resource. Anyway, the book is a good starting point for those interested in managing the chaos in software development projects, since a particular tool should not drive the way things are done in your shop. In fact, "the success of SCM is not primarily determined by tool sophistication, but by the attitude and cooperation of the people involved". As Weinberg says, it's always a people problem, not a technical one.

Alexis Leon provides the basics you will need to get acquainted with SCM-related activities, tips to tailor SCM to your particular needs, criteria to select the right SCM tool and the knowledge you would need to create your own SCM tool. Maybe your budget and your (hopefully) renewed interest in SCM are not enough persuasive to make you buy the book, given its price and the many SCM myths the author tries to dispel in this book. In that case, if you feel your projects tend to get out of control when everybody makes last-minute changes or have experienced the loss of that particular code snippet which would allay your headaches, ask your project manager to buy a copy of this book for your project team. Anyhow, you will need her support to successfully implement SCM.

-- Fernando Berzal (berzal@acm.org)


Quick Rating

Readability

Star Star Star

Originality

Star Star

Organization

Star Star Star

Accuracy

Star Star Star

Consistency

Star Star Star

Depth

Star Star Star

Timeliness

Star Star Star Star

Editing

Star Star Star

Design

Star Star Star

Overall Value

Star Star Star

Explanation of ERCB rating scale:
No stars = unacceptable
1 Star = marginal
2 Stars = average
3 Stars = above average
4 Stars = exceptional


Copyright © 2003 Electronic Review of Computer Books
Created 1/4/2003 / Last modified 1/4/2003 / webmaster@ercb.com