Lehrstuhl für Angewandte Softwaretechnik
Chair for Applied Software Engineering

Chapter 13: Configuration Management






Change pervades the development process: requirements change when developers improve their understanding of the application domain, the system design changes with new technology and design goals, the object design changes with the identification of solution objects, and the implementation changes as faults are discovered and repaired. These changes can affect every work product, from the system models to the source code and the documentation. Configuration management is the process of controlling and monitoring change to work products. Once a baseline is defined, configuration management minimizes the risks associated with changes by defining a formal approval and tracking process for changes.

In this chapter, we describe the following activities:

  • Configuration item identification is the modeling of the system as a set of evolving components.
  • Promotion management is the creation of versions for other developers.
  • Release management is the creation of versions for the client and the users.
  • Branch management is the management of concurrent development.
  • Variant management is the management of versions intended to coexist.
  • Change management is the handling, approval, and tracking of change requests.

We conclude this chapter by discussing project management issues related to configuration management. In particular, we discuss continuous integration, in which the creation of promotions and the execution of regression tests are automated, to ensure the early detection of integration problems.