Chapter 4 - Configuration management Flashcards
Baseline
Baseline: a specification or a product that has been formally reviewed and agreed upon, that thereafter serves as the basis for further development and that can be changed only through formal change control procedures. So, baseline is the shared project database, containing all approved items. The items contained in the baseline are the configuration items.
Configuration management
Configuration management: careful procedures are needed to manage the vast number of elements (source code components, documentation, change requests, etc.) that are created and updated over the lifetime of a large software system. This is especially true in distributed development projects. It is called configuration management. Goal: maintain the integrity of the development artifacts. Configuration management also encompasses workflow management tasks. If components are kept under configuration control, configuration management can be used to manage the workflow of development tasks as well. (E.g. Plan, design, code, unit test, etc. ) Configuration management provides a means to establish the status of all items and thereby of the whole project.
Configuration items
Configuration item: an aggregation of software or hardware or both that is designed for configuration management and treated as a single entity in the configuration management process. Examples of possible configuration items: source code modules, object code modules, the requirements specification, the design documentation, the test plan, test cases, the results, the user manual.
Change request
Change request: any proposed change to the baseline.
Deltas
Deltas: incremental changes from one version to another.
CCB (Configuration/Change Control Board)
CCB (Configuration/Change Control Board): ensures that any change to the baseline is properly authorized and executed. Change request are submitted to the CCB for approval. CCB makes sure that all affected configuration items are eventually updated accordingly.
Version-oriented vs. change-oriented configurations
Version-oriented model: a physical change in a component results in a new version. Different versions are characterized by their differences (deltas). Configuration identified by a sequence of version numbers (awkward). Change-oriented model: a configuration is identified by some baseline plus a set of changes.
Branch
Branch: when a parallel development path is employed, branches of revisions can be created.
Configuration management plan
Configuration management plan: document containing the procedures for configuration management. Describes methods to identify configuration items, control change requests and to document the implementation of those change requests. Main parts of a configuration management plan: Management: describes how the project is being organized. Attention is given to how change requests are handled, how project phases close, how to identify the interfaces between components. Activities: describes how a configuration can be identified and controlled and how it’s status is reported.