3. The ASPICE-Processes (VDA Scope)
3.13 SUP.8 – Configuration Management
What is the purpose?
A configuration management system and procedure is provided to assure the consistency of the work products and to make them available to all parties involved.
What is the benefit?
Development in automotive projects is highly incremental and must continuously take into account change requests. It is not easy to keep the large number of resulting modified work products consistent to each other. This is even true beyond development, as suppliers must be able to modify their systems for up to 30 years after end of production. This can only work with a very stringent configuration management system.
What is the content?
- A configuration management strategy is developed and documented, typically in a configuration management plan (BP1). BP1 lists typical elements of a strategy. This comprises also the strategy for branching and merging.
- The work products which shall be under configuration management control (“configuration items”) are defined (BP2).
- Branching and merging (if applicable) needs to be done according to the strategy (BP4).
- An appropriate configuration management system is established which allows to control the changes to configuration items and building baselines and releases (BP3/5/6).
- Configuration management tools feature generating reports that mirror the status of configuration items with respect to a lifecycle model (e.g., work in progress, reviewed, unit tested, integration tested) (BP7). This is very useful for project managers, build managers, test managers, etc.
- Checks are needed to guarantee that the product built conforms with the functional requirements (“Functional Configuration Audit”) and with the design (“Physical Configuration Audit”) (BP8).
- Storage and backup of configuration items, baselines, and releases needs to be defined and organized. Their long-term archiving needs to be guaranteed according to customer requirements. (BP9). This includes also archiving of development tools.
Experiences, problems and hints
- Configuration items are typically all relevant engineering work products (covering the entire V-model) related to producing product releases. This includes also the tools used and all relevant work products from management and support processes.
- Starting parallel development of software is called branching. Whether, and in which cases, this is permissible needs to be defined. When the branches are merged again special care needs to be taken to resolve inconsistencies.
- The configuration management system needs to work for all disciplines (software, hardware, mechanics, etc.) and therefore spans different configuration management tools. A method is needed to establish cross-disciplinary baselines.
- A baseline is a precisely defined set of uniquely identified configuration items. Baselines can be used to freeze a particular state of development to protect it against uncontrolled changes (e.g., a freeze of requirements and design for a particular release in order to focus afterwards on implementation and bugfixing). At a minimum, baselines are used to produce a release of the product.
- Software “Functional Configuration Audits” and “Physical Configuration Audits” are supported by the traceability and consistency practices of the engineering processes. The goal is to confirm that the functionalities which should be in the build, are in fact contained in the build. The release plan, planned change requests and bugfixes are the sources for confirming this consistency
Automotive SPICE text of Configuration Management (SUP.8)
The purpose of the Configuration Management Process is to establish and maintain the integrity of all work products of a process or project and makethem available to affected parties.
BP1: Develop a configuration management strategy. Develop a configuration management strategy, including:
- tools and repositories;
- criteria for configuration items;
- naming conventions;
- access rights;
- criteria for baselines;
- merge and branch strategy;
- the revision history approach for configuration items
NOTE 1: The configuration management strategy typically supports the handling of product/software variants which may be caused by different sets of application parameters or by other causes.
NOTE 2: The branch management strategy specifies in which cases branching is permissible, whether authorization is required, how branches are merged, and which activities are required to verify that all changes have been consistently integrated without damage to other changes or to the original software.
BP2: Identify configuration items. Identify and document configuration items according to the configuration management strategy.
NOTE 3: Configuration control is typically applied for the products that are delivered to the customer, designated internal work products, acquired products, tools and other configuration items that are used in creating and describing these work products.
BP3: Establish a configuration management system. Establish a configuration management system according to the configuration management strategy.
BP4: Establish branch management. Establish branch management according to the configuration management strategy where applicable for parallel developments that use the same base.
BP5: Control modifications and releases. Establish mechanisms for control of the configuration items according to the configuration management strategy, and control modifications and releases using these mechanisms.
BP6: Establish baselines. Establish baselines for internal purposes and for external delivery according to the configuration management strategy.
NOTE 4: For baseline issues refer also to the product release process SPL.2.
BP7: Report configuration status. Record and report status of configuration items to support project management and other relevant processes.
NOTE 5: Regular reporting of the configuration status (e.g. how many configuration items are currently under work, checked in, tested, released, etc.) supports project management activities and dedicated project phases like software integration.
BP8: Verify the information about configured items. Verify that the information about configured items, and their baselines is complete and ensure the consistency of baselines.
Note 6: A typical implementation is performing baseline and configuration management audits.
BP9: Manage the storage of configuration items and baselines. Ensure the integrity and availability of configuration items and baselines through appropriate scheduling and resourcing of storage, archiving (long term storage) and backup of the used CM systems.
NOTE 7: Backup, storage and archiving may need to extend beyond the guaranteed lifetime of available storage media. Relevant configuration items affected may include those referenced in NOTE 2 and NOTE 3. Availability may be specified by contract requirements.
Output Work Products
Handling and storage guide, Configuration management plan, Recovery plan, Baseline, Configuration management record, Change history, Configuration management system
If you wish to continue to the next chapter click here: