Minimizing Risk with Configuration Management
The purpose of configuration management is to maintain control and minimize risk by keeping track of the entire development life cycle. Maintaining an ongoing inventory of the build system enables components to be identified and tracked and lowers the risk of time consuming failures that might require several build cycles to solve.
CM consists of defining system elements and monitoring interactions between various components, while recording changes and maintaining communication between the various stakeholders.
Recordkeeping is an important part of configuration management. Modern CM keeps records of changes that go far beyond the source code, to include such things as tools, user environment, third party binaries and machine configurations. Reports are made and archives maintained so that the entire history of the development cycle and its environment can be reconstructed at any time.
Transparency is an important part of configuration management. The demands of modern software development and testing have caused the various teams that once operated in relative isolation to come together and function as a mega-team through the use of handoffs. Collaboration now takes place in real time and requires access to a consistently updated central data archive.
A detailed data archive will then make it easier to keep feature development and problem fixing separate. Bugs and user problems can be easily tracked and kept separate for regression testing while still maintaining communication between the different individuals involved. It also makes change control possible. Changes can be packaged and assigned to proper stakeholders while requirements can be maintained under version control.
Centralized data storage enables rapid communication, facilitating ownership of requirements while keeping change under control by improving communication between the various team and individuals involved.
Configuration management minimizes risk by keeping memory sharp within the development environment, enabling those involved to know what they are doing and why they are doing it, at all times.