ソフトウェア構成管理とは

NO IMAGE

開発プロジェクトの管理対象は?

開発プロジェクトでは、管理対象となるものが数多く存在します。管理対象は、ドキュメントやソースコードのようなファイルになっているものやタスクやスケジュールといったものまでさまざまです。

  • ドキュメント:各仕様書、設計資料など
  • スケジュール、タスク:進捗状態の管理やリソースの割り当てなど
  • ソースコードや設定ファイル:バージョン管理や分岐の管理など
  • 変更要求:仕様変更が発生したときのプロセスの管理
  • 障害リスト:テストで発見された障害を解決するためのプロセスの管理

開発プロジェクトが抱える管理上の問題

これらの管理対象となるアイテムは、多くの場合一元的に管理されていませんでした。そのために以下のような問題が発生していました。

  • ドキュメントとソースコードの不一致仕様書、設計書、ソースコードと一致するべきものがそれぞれの管理がばらばらのためにどの仕様書とどの設計書が一致しているのか、どの設計書から実装されたコードがどれなのかがわからなくなっている。
  • 変更要求のプロジェクトへの影響度合いが不明変更要求の数、それぞれのステータス、責任者などの管理がしっかりと行われていないと、プロジェクトの進行にフィードバックすることができない。
  • 障害の修復の状況が不明現在行われている障害対応の数、担当者、それぞれのステータスを正確に把握しないとプロジェクトの進行へのフィードバックがかけられない。
  • 構成が複雑で管理が困難開発対象製品のラインナップ構成が複雑で、共通部と製品ごとに異なる部分の管理が難しく、混乱が発生する。仕様書、設計書、ソースコードの組み合わせが複雑で管理しづらい。また、製品サイクルが短いので、管理が大変。
  • 開発に関わる人数が多く、変更の管理や最新版の管理で混乱開発部隊が分散しているようなケースでは、特にバージョン管理で問題が発生するケースが多い。
  • 並行開発において共通部分と分岐部分の管理が困難複数の開発タスクの同期が必要となる。

ソフトウェア構成管理(Software Configuration Management)とは?

このような問題を解決するために、ソフトウェア構成管理(SCM:Software Configuration Management)の必要性が叫ばれています。CMM(Capability Maturity Model)では、レベル2のキープロセスエリアとして、ソフトウェア構成管理を定義しています。ソフトウェア構成管理は、以下の4つのアクティビティーから構成されます。

  • 構成要素の識別管理対象となるアイテムがどのような構造になっているかを分析して、決定します。管理される対象は、すべてこの構造に関連づけられることになります。
  • 変更管理仕様に対する変更と障害に対する変更の管理です。
  • ステータス管理管理対象となるアイテムのステータスを管理します。障害対応のステータスであれば、「新規->対応開始->解決」というような管理がされます。
  • 監査管理対象となるアイテムに対するアクティビティーを記録します。