With this book, individual developers and small development teams can gain the benefits of configuration management that were previously restricted to large organizations with large budgets. This pragmatic, easy-to-read guide to configuration management comes with all the freeware PC developers need to get started.
Developers will learn the basic concepts of configuration management -- ways to keep track of source code files, graphical images, help files and other elements associated with software development. They will also learn how to customize basic configuration management techniques to their own working environments.
The book focuses on the PC platform, discussing free and inexpensive tools and technologies, rather than the expensive, complex configuration management systems that have been developed for large teams.
Review By: Noreen Dertinger 09/12/2002Practical Software Configuration Management: The Latenight Developer's Handbook is divided into two main sections. Section 1 introduces a novice, or someone who is considering implementing Configuration Management, to the basic concepts of this software-development discipline. The authors begin by explaining the fundamentals of a Configuration Management System (CMS) and use examples to illustrate their well-presented descriptions. Section 2 outlines what tools are available for Configuration Management. A companion CD contains RCS, CVS, and QVCS executables as well as documentation. This allows the user to put the newly learned principles to the test.
Section 1 is a tutorial based on Revision Control System (RCS). The authors do state that most of the concepts explained through the example of RCS are applicable to other Configuration Management tools. RCS is a freeware Configuration Management tool which is available for DOS, Windows 3.1, 95, and NT as well as UNIX. Mikkelsen and Pherigo clearly outline how to set up a CMS in individual or group environments. They also walk the reader through issues to consider in implementing a new CMS and present useful tips and considerations for gaining user and management buy-in.
Section 2 outlines what tools are available for CMS. Charts on public domain (free) and commercial tools provide the reader with a general overview (circa 1996-1997) of mainstream Configuration Management tools. While there may have been some changes in the tools, the principles presented continue to be valid today. Readers can get an overall appreciation of CMS and follow-up on those packages that they are interested in.
Appendix A documents the content of the CD-ROM. Appendix B consists of the RCS MAN pages.
The companion CD, which contains RCS, CVS, and QVCS executables and documentation, is useful for beginners as well as more experienced readers. While these are not the most recent versions of the software, the CD does allow the reader to put theory into practice and thus deepen understanding of the topic. In particular, the inclusion of version 5.7 of RCS allows the reader to follow through on the examples presented in the book. More up-to-date versions of this free software can be downloaded from the World Wide Web.
The book is clearly written. It makes for easy and quick reading and is accessible to all levels. Although the book does focus on RCS for many of its explanations and examples, these concepts can be transferred to other CMS tools. The authors are striving to convince software developers and managers that Configuration Management, both the tools and concepts, should be applied (in fact are essential) whether you are working in software development as an individual or as a professional in a group environment. The authors also make it clear that budget should not be a constraint in considering implementing CMS since tools are available for tight budgets.
Configuration Management is a discipline that all levels of an organization involved in software development should buy into--not just the programmers. Without CMS, any serious development effort is bound to run into problems at some point.
This is not the only book on Configuration Management but it is one that illustrates to developers, management, and indeed anyone who has significant involvement in software development, why such a process should be in place. An understanding of CMS concepts will make life easier for Quality Assurance professionals, as software will come to them better controlled, with identifiable components.
Considering that the information in Section 2 is by now slightly dated, Quality Assurance professionals may wish to look at more up-to-date literature if they are looking for up-to-date how-to information.