Guide to Software Configuration Management
|Publication Date:||1 January 1987|
This guide describes the application of configuration management (CM) disciplines to the management of software engineering projects. Software configuration management (SCM) consists of two major aspects: planning and implementation. For those planning SCM activities, this guide provides insight into the various factors that must be considered.
Users implementing SCM disciplines will find suggestions and detailed examples of plans in this guide. This guide also presents an interpretation of how ANSI/IEEE Std 828-1983 1 can be used for planning the management of different kinds of computer program development and maintenance activities.
The guide is presented in two parts. The first part, the main body of the guide, presents issues to consider when planning software configuration management for a project or organization. The second part of the guide presents, for those preparing SCM Plans, a series of sample Plans illustrating different concepts discussed in the body of the guide.
The text of the guide introduces the essential concepts of SCM, particularly those of special significance (for example, libraries and tools) to software engineering. It then presents the planning for SCM in terms of documenting a Plan following the outline of ANSI/IEEE Std 828-1983  so that a user who is unfamiliar with the disciplines of software configuration management can gain some insight into the issues. For those preparing SCM Plans, the second part of the guide provides sample plans for consideration.
The sample SCM Plans include a variety of software configuration management applications for different types of projects and organizations. Appendix A illustrates a software configuration management plan (SCMP) for a project developing a complex, critical computer system. It describes a Plan for managing a typical software development cycle where the development is contracted to an organization that does not have responsibility for its maintenance or use. Appendix B illustrates a SCMP for a small software development project. It describes a Plan for supporting a prototype development activity where the goal of the project is to demonstrate the feasibility of a concept. Appendix C illustrates a SCMP used by an organization where the emphasis is on maintaining programs developed by other activities or organizations. Appendix D illustrates a SCMP for an organization developing and maintaining computer programs embedded in a hardware product line. It describes a Plan for managing both software development and maintenance of a commercial product line. Some of the different characteristics illustrated are shown in Table 1.
1 The numbers in brackets correspond with those of the references in 1.2.