Configuration Management (CM) is a systems engineering process for establishing and maintaining consistency of a product’s performance, functional, and physical attributes with its requirements, design, and operational information throughout its life.
Configuration management determines clearly about the items that make up the software or system. These items include source code, test scripts, third-party software, hardware, data, and both development and test documentation. It ensures that these items are managed carefully, thoroughly and attentively during the entire project and product life cycle. It is sometimes referred to as IT automation.
The CM process facilitates the orderly management of system information and system changes. It helps to verify that proposed changes are systematically considered to minimize adverse effects. Changes to the system are proposed, evaluated, and implemented using a standardized and systematic approach. Configuration management verifies that changes are carried out as prescribed and that documentation of items and systems reflects their true configuration. The CM helps to improve performance, reliability, or maintainability; extend life; reduce cost; reduce risk and liability. The lack of CM, or its ineffective implementation can be very expensive and sometimes can lead to failure of equipment or loss of life.
A complete Configuration Management program includes provisions for the storing, tracking, and updating of all system information on a component, subsystem, and system basis.
Example: Suppose your company creates an avionics system that includes an LCD screen from a third-party company. Over the time, the specific LCD screen becomes obsolete and you need to find a suitable replacement to continue your production. The CM policy would identify who in which organization is authorized to approve utilizing a different but compatible version of the original LCD screen.
Configuration Management Process
The configuration management process is comprised of 5 disciplines that will establish a product’s baseline, and manage any changes over time.
- Planning and Management: This guides the design of the product, who has what responsibilities, and includes which tools and procedures to use. It identifies third-party requirements and the audit and review process.
- Identification: Allows for setting baselines and identifying the configuration of assets and/or software.
- Control: Maintain control of configurations, change requests, and execution of changes to a system and its documentation.
- Status Accounting: The process of recording and reporting configuration item descriptions and changes from the baseline over the item’s life-cycle. If a problem arises, this allows for a quick determination of the baseline configuration and changes that have taken place over time.
- Verification/Audit: Be able to audit what you have implemented and maintain positive control of all managed product
Why Is Configuration Management Important?
Configuration Management (CM) ensures that the current design and build state of the system is known, good & trusted and doesn’t rely on the tacit knowledge of the development team. CM help in accessing accurate historical record of system, which is very useful for project management and audit purposes. By knowing what has changed between one set of tests and the next, it helps to identify what could possibly be causing a fault.
Some of the key benefits of Configuration Management include:
- It facilitates the ability to communicate status of documents and code as well as changes that have been made to them. High-quality of the software that has been tested and used, makes it a reusable asset and saves development costs
- Increased efficiencies, stability and control by improving visibility and tracking.
- The ability to define and enforce formal policies and procedures that govern asset identification, status monitoring, and auditing.
- All components and sub-components are carefully itemized. This means there is a clear understanding of a product and its component elements and how they relate to each other.
- .Maintains project team morale. A change to a specification of a product can have a detrimental effect when the team have to redo all their work.
- It helps to eliminate confusion, chaos, double maintenance and the shared data problem.
- status accounting of configuration items
- auditing conformance to ISO9001
- identification of test versions
- record of changes to documentation over time
- controlled library access
2) auditing conformance to ISO9001