Configuration Management. Manage Work Results.
What is configuration management for and what is important when doing it?
A configuration is a unit of work results or a small packet into which you can pack individual product parts that belong together.
This might be documents, requirements, analyzed stakeholders or test cases. These configurations have to be managed so that you know, for example, which configurations of a software will be published as a release.
Creating a configuration with a label like e.g. "Release 2" establishes a baseline. Baselines are an important component of configuration management.
Configuration management originally comes from the aviation industry which was plagued by insufficient change documentation during the development of aeroplanes. So, in the fifties, the industry created a process to approach this problem. Since then, configuration management has been mainly encountered in software development. What does it involve?
What Is Configuration Management?
Configuration management manages individual units of work results that describe the product or software. A unit is called a configuration. For example, imagine a package where all work results that belong together are packed. These might be programs, components, databases, documents or files. Normally there are different versions of these. This means that in configuration management individual parts of the product are gathered in each version as packets or configurations and these configurations are managed. This allows you to, for example, define which product configurations should be transferred to which customers.
What does “manage” mean, exactly? According to the IEEE standard 24765:2017, it means:
- Identifying and documenting functional and physical properties of configuration elements,
- Controlling property changes,
- Documenting and evaluating changes to and the status of implementation and
- Verifying accordance with the requirements.
Definition of configuration management:
Configuration management means managing work results that belong together, also known as configurations.
Questions That Configuration Management Answers
Which customer gets which product version?
How many product versions exist?
Which configuration does the planned product version need with regards to hardware and software?
Which product versions are affected by changed components?
Which product versions are affected by which bugs? Where (in which components) can they be fixed?
Configuration Management and Baselines
The term baseline is often heard in configuration management. A baseline is a reference point that serves as the basis for further development and which can be restored at any point. If a configuration is a package containing different work packages, then the baseline is the label the package is given, for example “Milestone 1”. All product parts or work results within the package receive the label or version that corresponds to the package or baseline to which they belong.
Atom = An element that does not contain parts that can be versioned independently from each other
Baseline = Specially identified version of a configuration
Basis configuration = Definition of the first configuration
Configuration = Also configuration object or configuration item; component of a configuration
Configuration element = auch Konfigurationsobjekt oder Konfigurationsitem; Bestandteil einer Konfiguration
Release = Configuration that is given to an external instance, for example, a customer
Revision = Or version; means of identifying the particular state of an element
Goal configuration = Desired development results
Manage your Configurations with objectiF RPM.
Find out more about objectiF RPM,
the software for requirements engineering and project management. »
Why Do You Need Configuration Management?
Configuration management forms a basis for systematic and traceable product development processes. Above all, change management is particularly important.
The effects of altered components are traceable up to the product configuration.
Different product configurations can be structured, managed and maintained. Current developments can be compared with requirements.
Fewer errors, and those that do emerge can be more easily traced and fixed.
Communication is easier because different versions can be compared without having to consult on them. Related work results can be recognized quickly and simply.
Which Elements Should Be in a Configuration?
Not all a project’s work results have to be collected in a configuration. The following items are usually included when developing software.
- Requirement documents (e.g. use cases)
- Test specifications and test data
- Architecture and design documents
- User documentation
- Metadata and configuration data
- Installation instructions, release notes
Requirements configuration is often spoken of in requirements management. All related requirements versions are collected in a configuration like this. Generally, these are needed to establish a baseline and to define the system delivery level. For example, all requirements of release 1 can be collected in a configuration and establish a baseline.
Requirement configuration must have the following properties (cf. K. Pohl, C. Rupp: Requirements Engineering Fundamentals):
- Requirements are connected by their content (They have the same purpose)
- Requirements are consistent
- Requirement configuration is uniquely identifiable (The configuration has a unique ID)
- Requirement configuration cannot be changed (if a requirement changes then a new version must be made)
- Requirement configuration is the foundation for a reset (requirements can be reset to another version within a configuration)
How to Create a Configuration in objectiF RPM
In objectiF RPM a configuration corresponds to an element group. That means that all that is needed to generate a configuration is to create an element group and add the relevant elements to it. The elements can be documents, requirements, test cases or risks. Create references to the original files when you place them in element groups. That way the files are saved in the original location. Baselines can be established for element groups by generating a revision of the element group. With the right software, configuration management can be that easy.