構成管理
構成管理（こうせいかんり、Configuration Management、CM）とは、システムのライフサイクルにわたる範囲、性能、機能的および物理的要件、設計、操作に関する情報などを確立し維持する作業またはプロセスである。形態管理、コンフィギュレーションマネジメントとも。CMプロセスは、武器システム、車両、情報システムなどの複雑なシステムを管理するため、軍事工学組織で広く使われている。軍事以外では、ITILやISO/IEC 20000で定義されるようなITサービス管理、土木工学や生産技術の分野でのドメインモデルでも使われており、例えば道路・橋・運河・ダム・建築物の建設や保守管理がある。
はじめに
システムのライフサイクルに構成管理を適用するとき、その範囲・性能・機能・構成要素・物理的な属性の視認性と制御を提供する。構成管理はシステムが意図通りに機能することを確認し、計画したライフサイクルに対応すべく十分詳細に識別され文書化することがある。構成要素の変更、機能の改訂、性能・信頼性・保守性の改善、システムの寿命を延ばす、コスト削減、危険性や問題の低減、欠陥の修正など、役に立つシステムの変更やシステム情報の整然とした管理を容易にする。構成管理は相対的に低いコストで実施でき、多くのコスト削減を実現できる。人命に影響を与えるシステムでは、構成管理の欠如や実施がまずい場合、結果として人命が失われたり大きな事故を引き起こすなどの壊滅的結果を引き起こす可能性がある。
構成管理ではシステムの変更を効率的に制御するため、部品間、サブシステム間、システム間の機能的関係を強調する。それにより、変更案が逆効果を最小化するよう考慮しているかを体系的に検証可能となる。システムの変更は、一貫性を保証するよう標準化した体系的手法を使って提案し、評価し、実装する。変更案は予想されるシステム全体への影響について評価する。構成管理は変更を規定通りに行ったかを検証し、部品やシステムの文書が実際の構成を反映していることを確認する。完全性の高い構成管理では、部品毎、サブシステム毎、システム毎についての全システム情報が実体を反映するよう対策をとる。
構造化した構成管理では、文書（要求仕様、設計書、試験仕様、受納書など）が実際の設計を正確に表しかつ一貫していることを保証する。構成管理を実施しない場合、文書が存在しても実体と一貫していないことが多い​​。そのため、後に設計に変更を施す際、関係者が実体を反映させるべく何度も開発文書を改訂する必要が生じる。構成管理を行えば、そのようなリバースエンジニアリング的な無駄な作業を減らすことができる。
歴史
形式的管理手法としての構成管理は、アメリカ空軍 (USAF) がアメリカ国防総省 (DoD) のために1950年代に開発したもので、当初は物質的な材料についての技術的管理技法だった。その後様々な産業に広まっていった。DoDが1970年代に発行した「480シリーズ」と呼ばれるMIL規格（MIL-STD-480、MIL-STD-481）を策定していた1960年代末、構成管理が独立した技術的規範となっていった。1991年、480シリーズは MIL–STD–973 という1つの規格としてまとめ、さらに標準化団体が策定した一般の工業規格を取り入れて軍独自の規格の数を減らすため、 MIL–HDBK–61 へと改訂した。これが構成管理の国際標準 ANSI–EIA–649–1998 へと発展。2013年現在、広く採用されている構成管理のコンセプトとしては、システム工学 (SE)、Integrated Logistics Support (ILS)、能力成熟度モデル統合 (CMMI)、ISO 9000、PRINCE2プロジェクト管理方法論、COBIT、Information Technology Infrastructure Library (ITIL)、アプリケーション・ライフサイクル・マネジメントなどがある。構成管理を図書館の司書のような活動と捉え、変更を制御する側面を変革管理として独立して捉えることもある。ソフトウェアの構成管理では、ISO/IEC TR 15846:1998 Information technology -- Software life cycle processes -- Configuration Managementが標準技術文書(technical report)として1998年に発行している。しかし試用のち、2007年に廃止している。軍関連のソフトウェア開発部門での利用はあったが、他の分野では詳細すぎて仕立て(tailoring)の出発点としては重すぎるとの背景があった。
情報保証
情報保証の観点では、構成管理はセキュリティ機能の管理と定義でき、情報システムのライフサイクルにわたってハードウェア、ソフトウェア、ファームウェア、文書、試験、試験装置、試験文書に加えられた変更を制御することでそれを保証する。情報保証における構成管理は Secure Configuration Management とも呼ばれ、ITプラットフォームおよびIT製品の性能・機能・物理的属性とそれらの置かれる環境に基づき、適切なセキュリティ機能とセキュリティ保証を使ってシステム構成状態を判定する。例えば、企業内のネットワークとインターネットを接続する部分のファイアウォールと企業内の部門間のファイアウォールでは、要求される構成が異なるかもしれない。
保守システム
構成管理は複雑な装備の状態への理解を維持するのに使われ、それによって高いレベルの有用性を維持しつつコストを低減させる。特に、計画された寿命を超過している装備（またはその一部）や品質レベルの低い装備が運用を妨げないと保証することを目指している。
軍では、そのような活動は "mission readiness"（任務準備）に分類され、任務の種類と利用可能な装備を特定することを含む。例えば、空母の艦載機に爆弾を装備するのか、ミサイルを装備するのかといったことである。
OSの構成管理
構成管理は、OSのコンフィギュレーションファイルの保守管理にも使われる。CFEngine、Bcfg2、Puppet、Chef、 Ansibleといったシステムがある。
リアルタイムの修理や予防保守を可能とするソフトウェア CFEngine を開発したマーク・バージェスは、構成保守の理論の研究でも知られている。
予防保守
装備の現況を理解し、どの部品が必須の要素なのかを理解することは予防保守の基本であり、そういった知識を修理や保守、企業資産管理システムで活用する。
航空機、船舶、産業機械などの複雑な装備（資産）は、多種多様な部品で構成されて役立つものになっている。その有用性は、部品が交換されるまでにどれだけ使われたか（期間、回数）などで定義される。寿命が尽きようとしている部品がどういう状態になるのかを把握することは、構成管理用ソフトウェアが発展するまでは重要な現場の仕事だった。
予知保全
様々な部品は電子的センサーを使ってデータを提供し、状態監視手段を提供している。それらのデータは航空機や船舶内や遠隔地でコンピュータを使って解析され、平均故障間隔などから将来の故障発生を予測するアルゴリズムを使って、システムの状態を予測するのに使われる。これが予知保全の基本である。
正確でタイムリーなデータが入手できるかは構成管理にとって重要であり、それがないとできることは限定される。運用データを捉えて各種サポート組織に配布することは、それだけで1つの産業になりつつある。
建設業
構成管理は、非常に複雑で大量の各種建材などを使用する大規模な建設プロジェクトでも使われている。設計変更もしばしば発生するので構成管理による文書化が必要となる。アメリカ連邦高速道路局は道路建設に構成管理を用いている。設計変更、工期、予算などを管理する建設業向けのツールも存在する。そういったソフトウェアは、竣工後の保守や変更につかえる情報を蓄えることもできる。アメリカ連邦公共交通局が資金提供してケーススタディとして試用されたツールとしてccsNetがある。ロサンゼルス郡都市圏交通局 (LACMTA) のレッドラインの53億ドルの建設工事で使われ、効果があるとされた。