構成管理
ソフトウェア構成管理 (SCM) は本来、ソフトウェアプロジェクトにおける変更を扱う最良の解決策とされている。プロジェクトの様々な時点でソフトウェアの機能的・物理的特性を特定し、それら特性群の変更を体系的に制御することで、開発ライフサイクルを通じたソフトウェアの完全性とトレーサビリティを維持する。
SCMプロセスはさらに変更を追跡する必要性を定義し、最終的に提供されるソフトウェアがそのリリースで予定されていた機能を全て搭載しているかの検証を可能にする。SCMが正しく実施されるよう次の4つの手順を定義しなければならない。
構成識別
構成制御
構成現況記録
構成監査
これらの用語の意味するところはどういう標準を採用するかで異なるが、基本は同じである。
構成識別は、構成項目をあらゆる観点で定義する属性群を特定するプロセスである。
IEEE 829 Standard for Software Test Documentation
MIL-STD-973 Configuration Management (2000年9月20日にキャンセルされた)
STANAG 4159 NATO Materiel Configuration Management Policy and Procedures for Multinational Joint Projects
STANAG 4427 Introduction of Allied Configuration Management Publications (ACMPs)
CMMI CMMI for Development, Version 1.2 CONFIGURATION MANAGEMENT
CMII-100E CMII Standard for Enterprise Configuration Management
それにより、変更案が逆効果を最小化するよう考慮しているかを体系的に検証可能となる。システムの変更は、一貫性を保証するよう標準化した体系的手法を使って提案し、評価し、実装する。変更案は予想されるシステム全体への影響について評価する。構成管理は変更を規定通りに行ったかを検証し、部品やシステムの文書が実際の構成を反映していることを確認する。完全性の高い構成管理では、部品毎、サブシステム毎、システム毎についての全システム情報が実体を反映するよう対策をとる。
構造化した構成管理では、文書(要求仕様、設計書、試験仕様、受納書など)が実際の設計を正確に表しかつ一貫していることを保証する。構成管理を実施しない場合、文書が存在しても実体と一貫していないことが多い。そのため、後に設計に変更を施す際、関係者が実体を反映させるべく何度も開発文書を改訂する必要が生じる。構成管理を行えば、そのようなリバースエンジニアリング的な無駄な作業を減らすことができる。