構成と変更管理の概論
ソフトウェア開発研究所の能力成熟度モデル (SEI CMM)「構成と変更依頼管理による、プロジェクトの成果物への変更の管理、整合性の保守」を言い換えると、次のようになります。

構成と変更依頼管理 (CM と CRM) は、次のようなことに関与します。
- 構成アイテムの識別
- それらのアイテムへの変更の制限
- それらのアイテムに対して行われた変更の監査
- それらのアイテムの構成の定義と管理
組織の変更と構成管理を行うために使用されるメソッド、プロセス、ツールを、組織の CM システムとみなすことができます。
組織の CM システム (構成と変更依頼管理システム) は、製品開発、展開、導入、保守のプロセスに関する重要な情報を保持し、これらのプロセスの実行結果として得られる潜在的に再利用可能な成果物の資産ベースを維持します。
CM システムは、開発プロセス全体の中の最も重要で不可欠な部分です。
CM システムは、共通のプロジェクトに携わる多くの人々によって生成される多様な成果物を管理するために不可欠です。管理することで、コストのかかる混乱を回避することができ、結果の成果物に次のような問題によって矛盾が起きないようにすることができます。
同時更新
複数のチーム メンバーが同じ成果物に別個に取り組んでいる場合、変更を行った最後の作業によって前の作業が破壊されます。基本的な問題は、システムが同時更新をサポートしていない場合、逐次変更を行うことになるので、開発プロセスの進行が遅れてしまうことです。ただし、同時更新にも、更新が同時に行われたことを検出し、これらの変更を組み込むときの統合の問題を解決するという課題があります。
制限された通知
複数の開発者が共有する成果物の問題が修正されたとき、一部の開発者にはその変更を通知しません。
複数バージョン
ほとんどの大規模なプログラムは、進化的リリースで開発されます。あるリリースは顧客によって使用されており、別のリリースはテスト中で、第 3 のリリースはまだ開発中ということもありえます。そのバージョンのいずれかで問題が発見された場合、修正内容がそれらのリリース間に伝えられる必要があります。変更を慎重に管理し監視しなければ、混乱が発生し、コストのかかる修正と補修につながる可能性があります。
CM システムは、発展的なソフトウェア システムの複数のバリエーションを管理したり、所定のソフトウェア ビルドで使用されるバージョンを追跡したり、ユーザー定義バージョン仕様に応じて個々のプログラムまたはリリース全体のビルドを実行したり、サイト固有の開発ポリシーを実施するのに役立ちます。
CM システムによって実現される直接的な利点の一部として、次のようなものがあります。
- 開発メソッドをサポートする
- 製品の整合性を維持する
- 構成された製品の完全性と正確性を保証する
- 製品を開発するための安定した環境を提供する
- プロジェクト ポリシーに基づいて成果物への変更を制限する
- 誰が、いつ、なぜ成果物を変更したかについての監査記録を提供する
CM システムは、開発プロセス自体についての「詳細」データも格納します。たとえば、特定のバージョンを作成した人 (時と理由も)、特定のビルドに使用されたソースのバージョンなどの関連情報です。
組織の CM システムは、方向づけから導入に至るまでの製品のライフサイクル全体にわたって使用されます。組織の資産リポジトリとしての CM システムは、システムまたはシステム コンポーネントの特定のバージョンを定義する要求、設計、実装の成果物のソース ファイルの現在と履歴的なバージョンを保有します。
CM システムで表される製品ディレクトリ構造は、製品を実装するために必要な成果物をすべて含みます。そのように、CCM (構成と変更管理) の作業分野は、以下のような結果の成果物セットのリポジトリとしての役割を果たすと同時に、ほかのプロセスの作業分野すべてにかかわっています。