Configuration management consists of managing the technical description of a system (and its various components), as well as to manage all changes made during the evolution of the system. In other words, it is the set of processes to ensure the compliance of a product with the requirements, throughout its life cycle. Configuration management is used for configuring complex systems including computer science, aeronautics, automobile, shipbuilding, pharmacy, space systems, armaments and railway construction.
In IT, configuration management can be used for several purposes. To store and trace different versions or revisions of any information intended for use by a system (hardware, software, document, unit data, etc.) and to deploy configurations across a computer park in the form of files and data. This is achieved using version control software, proprietary or free. Used in software version tracking, configuration management allows, for example, to manage source codes. Used in document versioning, it allows you to trace all the changes that have occurred to the information contained in the documents.
Components of Configuration Management
Configuration management is first and foremost a set of practices. Inventory activity includes the selection of items to be submitted to configuration management, the selection of documents describing these articles and that one wants to master. In other words, identification sets the perimeter that we want to manage. The corresponding activities relate to the type of information (e.g. file formats), technical specifications, interface folders, allocation files, definition files, manufacturing records, naming rules, information lifecycle etc.
Activity consisting in confirming for each request for evolution, for each request for deviation (derogation requested before the entry into production of a product) or derogation after production that the product meets all functional requirements. In other words, an activity that confirms the consistency of all configuration data throughout the life of the product.
Each time an article/code is modified, its previous state is preserved. Successive states of the article are often referred to as “version” or “revision”. The evolution of the article may concern the modification of its intrinsic characteristics (physical or functional characteristics, performance, etc.), the modification of its links to other articles/code (composition, specification, description links).
Recording the successive states of the Configuration: it is a question of keeping, at a given moment, all the versions of the articles and the links that structure them. It is a “photograph” of the configuration, which can serve as a reference of the state of the configuration at that moment.
One of the features that configuration managers can have is change pooling. Typically, a change affects a task, and it is rare for a task to affect only one document. Also, to avoid searching in all documents for changes made during the resolution of a task, the tool will group said documents within a list of changes. These groupings allow atomicity in the evolution of the system and realize coherent breakpoints that can serve as a recovery point or bifurcation (branches) for configuration evolutions.