Configuration Management

Overview

For all but the simplest projects and smallest teams, version control and configuration management is a must, otherwise unmanageable constraints and unacheivable scheduling problems will occur. This is even more important for iterative development. The issues centre around parallel working, where the same work product is updated by more than one developer at the same time, and the evolution of work products across iterations, where consumers of the work product need to see a stable version as input to follow-on activitie, even though further work is being done to the work product.

Without version control to manage the evolution of work products, and without configuration management to control access and visibility of versions of work products, their integrity soon breaks down. For even larger, distributed development teams, the issues become even greater when work products need to be synchronised and replicated across several sites. The overhead of planning to serialise amendments to work products is too greate, and in practice the result is often stalled development whilst waiting for one change to be completed before commencing on the next. Where parallel working is undertaken without appropriate process control and tool support, there is a familiar list of problems that occur:-

  • Bugs corrected in previous releases mysteriously reappear
  • Previous releases of software required to diagnose and correct bugs cannot be rebuilt
  • Work products are lost or inexplicably changes
  • Amendments to work products by one developer are overwritten by those of another
  • Build failures that were not previuosly a problem suddenly seem to occur

The remedy to these issues is a well defined Configuration Mangement process, and a properly configured configuration management system to efficiently support that process. With integration between Change Control and Configuration Management tools, it is possible to automatically produce a software Bill of Materials for each build, giving definitive provenance prior to deployment.

Roles

Team members require this skill to successfully perform the following roles: Configuration Manager.

Courses
Tools

Users require this skill to gain the full benefits from the following tools:-