第 8 章 ソフトウェアの 構 成 管 理 本 来 の 構 成 管 理 の 意 味 本 来 の 構 成 管 理 と 呼 ばれる 作 業 は 1960 年 代 に 既 に 米 国 の 国 防 総 省 で 行 われていたとい う 例 えばジェット 戦 闘 機 では F15 という 同 じ 名 前 の 飛 行 機 が 毎 年 少 しずつ しかしかな り 長 期 間 にわたって 作 られ 続 ける 本 来 の 構 成 管 理 は このような 製 品 に 適 用 されるもの である ジェット 戦 闘 機 について 私 は 強 くないので これを 民 間 機 に 置 き 換 えて 話 を 進 めたい ボー イング 社 が 作 っている 航 空 機 の1つに 有 名 な 747 型 機 がある ジャンボ ジェット 機 である この 航 空 機 の 一 番 機 は 1972 年 秋 に 就 航 した この 年 私 は 9 月 から 11 月 までニューヨーク に 長 期 滞 在 し IBM の 学 校 に 通 って 勉 強 していた その 期 間 中 にデルタ 航 空 がニューヨーク タイムズ 紙 に 全 面 広 告 を 出 して ジャンボ ジェット 機 二 機 がニューヨークとロサンジェルス の 間 を 定 期 的 に 毎 日 二 往 復 することを 高 らかに 宣 言 した このジャンボ 機 には 女 性 の 名 前 が 付 いていた たいへん 印 象 的 な 広 告 だった この 原 稿 を 書 いている 時 点 (2004 年 6 月 )から すると 30 年 以 上 も 前 の 話 である ボーイング 社 はそのジャンボ 機 を 最 近 まで 作 っていた しかしこの 30 年 を 超 える 期 間 の 間 に この 飛 行 機 の 多 くのものが 変 わっただろう 当 然 多 くの 技 術 革 新 があった 不 幸 な 航 空 機 事 故 があったかもしれない 航 空 機 の 場 合 事 故 があると 徹 底 してその 事 故 の 原 因 究 明 がなさ れ 再 び 同 じ 状 況 が 起 きても 同 じ 事 故 を 起 こさないようにするという 一 大 方 針 の 下 で 設 計 変 更 などの 改 善 がなされ 続 けている 1 これらの 変 更 の 結 果 飛 行 機 を 構 成 している 部 品 が 変 わり その 部 品 の 組 み 合 わせ 方 を 表 し ている 設 計 図 も 変 わった その 結 果 最 終 製 品 である 飛 行 機 も 変 わり 続 けた 大 げさにいえば 初 めから 全 く 変 わらなかったものは ボーイング 747 という 型 式 名 と ワイパーぐらいかも しれない 世 界 の 民 間 航 空 会 社 の 中 には 今 でも 多 くのジャンボ ジェット 機 を 所 有 して 世 界 中 で 運 行 しているところがある 2 航 空 機 の 場 合 は 民 間 機 でも 定 期 的 にドック 入 りしてオーバーホールを 行 い 一 定 の 飛 行 時 間 ごとに 一 部 の 部 品 などを 交 換 しなければならないと 決 められている 仮 に1つの 航 空 会 社 がいくつもの 種 類 のジャンボ ジェット 機 を 所 有 しているとすると 次 にド ックに 入 ってくる 飛 行 機 にはどの 部 品 や 設 計 図 が 使 われているかを 事 前 に 知 っていなければ このオーバーホールや 部 品 交 換 が 円 滑 には 進 まない 別 の 言 い 方 をすると どの 飛 行 機 にはど のタイプの 部 品 が 使 われ どの 設 計 図 に 基 づいて 作 られたか などをしっかりと 管 理 しておく 必 要 がある このように 最 終 製 品 が 時 間 とともに 変 化 する 場 合 そのそれぞれの 最 終 製 品 とそれを 構 成 し ている 部 品 や 図 面 の 関 係 を 管 理 する 必 要 がある これが 本 来 の 意 味 での 構 成 管 理 である つまり 構 成 管 理 で 管 理 の 対 象 とするものは 基 本 的 に 製 品 である この 管 理 は 最 終 製 品 にも 各 部 品 や 図 面 にも その 中 間 段 階 の 半 製 品 にも それぞれバージョンナンバー( 版 番 号 ) を 付 け 何 かが 変 わるごとにそのバージョンナンバーを 更 新 し どのバージョンの 最 終 製 品 は 1 余 談 だが 多 発 するトラブルを 回 避 するために ソフトウェアについてもこれぐらいの 真 剣 な 取 り 組 みが 必 要 であると 私 は 考 える 2 日 本 の 航 空 会 社 は 日 本 航 空 も 全 日 空 も 所 有 していたジャンボ ジェット 機 を 全 て 売 り 払 い 今 は 1 機 も 所 有 していない 8-3
どのバージョンの 図 面 を 使 って どのバージョンの 部 品 の 組 み 合 わせで 作 られているのかを 管 理 することで 行 われる ソフトウェアの 構 成 管 理 とその 目 的 ソフトウェアが 飛 行 機 などハードウェア 製 品 と 大 きく 違 うところが1つある 飛 行 機 など では 一 つ 最 終 製 品 を 製 造 するとそのために 使 う 部 品 を 消 費 してしまい 次 の 最 終 製 品 を 作 る ためには 改 めて 必 要 な 部 品 を 供 給 しなければならない しかしソフトウェアは そうではない 今 あるソフトウェアの 最 終 製 品 を 作 っても 部 品 は まだそのまま 存 在 し 続 けている だから 次 の 製 品 を 作 るときでも 新 たな 部 品 の 供 給 の 必 要 が ない これはソフトウェアの 他 のものとは 異 なるたいへん 大 きな 特 徴 である この 特 徴 もあって ソフトウェア 会 社 の 製 品 の 作 り 方 / 出 荷 の 仕 方 は ハードウェア 製 品 を 作 っている 企 業 とは 大 きく 違 っている 世 界 最 大 のソフトウェア 会 社 は 多 分 マイクロソフトだ が マイクロソフトの 製 品 の 作 り 方 / 出 荷 の 仕 方 は ボーイング 社 のそれとは 違 っている こ のことなどからマイクロソフトの 場 合 部 品 の 変 更 を 最 終 製 品 にそれほどは 頻 繁 に 反 映 してい なかった 3 したがって ソフトウェア 会 社 の 場 合 はハードウェア 会 社 の 場 合 ほど 本 来 の 構 成 管 理 を 必 要 としていなかった しかしソフトウェアには 変 更 がつきものである 本 来 の 構 成 管 理 には この 変 更 を 管 理 す る 機 能 も 含 んでいる この 変 更 管 理 の 部 分 に 注 目 して ソフトウェアの 構 成 管 理 (Software Configuration Management:SCM)が 考 案 された ソフトウェアを 作 り 運 用 している 組 織 には 決 して 好 ましいことではないが 以 下 のよう なことが 起 きることがある 1. プログラムの 一 部 である 特 定 のモジュール 4 の 資 料 やソース プログラムのリストが 見 当 たらなくなってしまった 2. 順 調 に 動 いていたあるプログラムが ある 日 突 然 動 かなくなった 原 因 を 調 査 したら そのプログラムの 中 のあるモジュールを 作 った 若 いプログラマが 誰 の 許 可 も 得 ずに 良 かれと 思 ってそのモジュールに 手 を 入 れた その 際 にミスがあって トラブルが 発 生 した 3. 開 発 中 のソフトウェアに 仕 様 変 更 が 入 って プログラムを 修 正 することにした その 際 に 連 絡 の 不 徹 底 があって 一 部 のプログラムは 修 正 したが 修 正 されなかったもの もあって 結 果 としてトラブルが 発 生 した 4. ある 仕 様 変 更 があってプログラムを 修 正 し そのプログラムは 修 正 後 に 順 調 に 稼 働 し ていた その 頃 に 別 の 仕 様 変 更 があって それへの 対 処 を 行 った 結 果 以 前 に 対 処 し てそれ 以 降 順 調 に 動 いていた 修 正 が 元 に 戻 ってしまった これでやはり トラブル 3 最 近 は 少 し 様 子 が 変 わってきている つまりマイクロソフト 製 の OS の 弱 点 を 突 いて 多 くのコンピュータ ウィルスが 作 られるようになった このウィルスの 被 害 を 最 小 限 にとど めるため マイクロソフトは OS の 中 に Windows Update の 機 能 を 用 意 し OS の 一 部 に 変 更 がある 都 度 ユーザに この 機 能 を 使 って OS を 修 正 することを 推 奨 している しかし これらへの 対 応 はユーザの 責 任 で 行 うことになっており マイクロソフトが 個 々のユーザが 使 っている OS の 構 成 に 責 任 を 持 っている 訳 ではない その 意 味 でやはりマイクロソフトの 方 法 は ボーイング 社 とは 異 なる 4 モジュールとは 大 きなプログラムを 構 成 する 小 さな 単 一 の 機 能 を 持 ったプログラムのこと である オブジェクト 指 向 プログラミングでいう [クラス]に 対 応 する 8-4
が 発 生 した ソフトウェアへの 変 更 を 管 理 して 上 記 のようなことを 起 こさないようにすることが ソフト ウェアの 構 成 管 理 の 目 的 の1つである これらのことに 苦 い 経 験 を 持 つ 組 織 は このソフトウ ェアの 構 成 管 理 を 取 り 入 れて 再 発 防 止 に 努 めることが 必 要 である ソフトウェアの 構 成 管 理 は 必 要 か ソフトウェアの 構 成 管 理 の 目 的 や それを 実 施 することによる 効 果 については 既 に 述 べた 5 このようなことを 行 うために ソフトウェアの 構 成 管 理 とわざわざ 呼 ぶような ある 意 味 で 大 げさな 作 業 が 必 要 なのだろうか もっと 単 純 な ポイントを 突 いた 文 書 管 理 やライブラ リ 管 理 でこれと 同 じ 目 的 を 達 成 することはできないのだろうか 答 は 否 である その 理 由 は ソフトウェアの 複 雑 さにある 具 体 的 には 以 下 のような 事 項 をあげることができる 1. ソフトウェアを 構 成 するものの 種 類 が 多 い 具 体 的 には 要 求 仕 様 書 各 種 設 計 書 ソース プログラム オブジェクト プログラム ロード モジュール さらには 各 種 の 計 画 書 やテスト 用 データ ユーザ 用 のマニュアルなどがある しかもこれらがお 互 いに しっかりと 整 合 性 を 保 持 していなければならない 2. ソフトウェアの 形 態 が 開 発 作 業 の 進 展 とともに 変 化 する つまり 最 初 のシステム 分 析 の 段 階 で 要 件 定 義 書 が 作 られ その 後 の 設 計 段 階 でそれに 各 種 の 設 計 書 が 加 わる その 後 ソース プログラムが 作 られ コンパイルされ リンクされて プログラムだ けで 見 ても 形 態 が 大 きく 変 わる 3. 時 間 とともに 特 性 も 変 わる 開 発 途 中 だけでも 環 境 の 変 化 や 要 求 自 身 の 陳 腐 化 など で 仕 様 の 変 更 が 生 じる 仕 様 の 変 更 が 入 るとそれに 応 じて ソフトウェアを 構 成 す るものの 一 部 を 変 更 しなければならない その 上 でそれら 全 部 が しっかりと 整 合 性 を 保 持 した 状 態 になっていなければなければならない ソフトウェアのライフサイク ル 全 体 を 見 れば この 特 性 の 変 化 はもっと 激 しい 以 上 のようなことからソフトウェアでは 単 純 な 文 書 管 理 やライブラリ 管 理 だけでは 充 分 な 管 理 を 行 うことが 難 しい これが ソフトウェアの 構 成 管 理 と 呼 ぶ 作 業 を 必 要 とする 理 由 で ある ソフトウェアの 構 成 管 理 の 内 容 ソフトウェアの 構 成 管 理 については 多 くの 規 格 やルールが 用 意 されている 当 然 CMMI (CMMI の 今 のバージョンは CMMI-DEV v1.3) 6 にも 共 通 フレーム 2013 7 にも ソフトウェ アの 構 成 管 理 についての 記 述 がある いろんな 記 述 が 用 意 されていることは この 分 野 がそれ だけ 重 要 であることの 証 拠 であると 私 は 考 えている しかし 残 念 ながらこのソフトウェアの 構 成 管 理 は 特 にソフトウェア 技 術 者 たちから 評 判 が 悪 く 多 くのソフトウェアの 開 発 組 織 が 積 極 的 に 採 用 に 踏 み 切 り 導 入 しようとしているような 仕 組 みでは 必 ずしも 無 い このスタン 5 今 の ISO/IEC 12207:2008 をはじめ 共 通 フレーム 委 2013 などには 構 成 管 理 と ソフトウェアの 構 成 管 理 に 2 つが 用 意 されている 6 CMMI については 第 40 章 で 述 べる 7 共 通 フレーム 2013 とその 基 の 規 格 である ISO/IEC 12207:2008 については 第 12 章 で 述 べる 8-5
スの 良 否 などについての 問 題 は また 別 のところで 論 じたい 国 際 規 格 群 の 中 の ISO/IEC TR 15846:1998 という 技 術 報 告 書 があった 8 [ISO98] この 技 術 報 告 書 によると ソフトウェアの 構 成 管 理 は 以 下 の7つのプロセスから 構 成 される 9 1. ソフトウェア 構 成 管 理 プロセスの 実 現 2. ソフトウェアの 構 成 識 別 3. ソフトウェアの 構 成 制 御 4. ソフトウェアの 構 成 状 況 記 録 5. ソフトウェア 構 成 評 価 6. ソフトウェアリリース 管 理 および 出 荷 7. インタフェース 制 御 以 下 で この 技 術 報 告 書 を 中 心 に ソフトウェア 構 成 管 理 のプロセスの 内 容 について 述 べて みたい ソフトウェア 構 成 管 理 プロセスの 実 現 上 記 の 7 つのプロセスの 中 最 初 の ソフトウェア 構 成 管 理 プロセスの 実 現 のプロセスは さらに 次 の 5 つのサブプロセスに 分 けられる 1.ソフトウェア 構 成 プロセスの 実 現 I. 開 始 及 び 範 囲 の 定 義 II. 計 画 III. 実 行 制 御 IV. ソフト ウェア 構 成 管 理 プロセ スの レビュー 及 び 評 価 V. 終 了 2. ソフト ウェアの 構 成 識 別 3. ソフト ウェアの 構 成 制 御 4. ソフト ウェアの 構 成 状 況 記 録 5. ソフト ウェアの 構 成 評 価 6. ソフト ウェアの リリース 管 理 及 び 出 荷 7. インタ フェース 制 御 図 表 8-1 ソフトウェア 構 成 管 理 の 全 体 像 8 この 規 格 ( 技 術 報 告 書 )は たぶん 後 続 の 規 格 が 発 行 されないまま 廃 止 されてしまった 9 私 はこの 内 容 を この 技 術 報 告 書 が JIS 化 された TR X 0018:1999 から 取 った[JIS99] 構 成 管 理 についてのいろんな 記 述 のうち この 技 術 報 告 書 の 記 述 が 一 番 的 確 であると 私 は 考 え ている 8-6
I. 開 始 および 範 囲 の 定 義 II. 計 画 III. 実 行 制 御 IV. ソフトウェア 構 成 管 理 プロセスのレビューおよび 評 価 V. 終 了 この ソフトウェア 構 成 管 理 プロセスの 実 現 のプロセスは 他 の ソフトウェア 構 成 識 別 から インタフェース 制 御 までの 6 つのプロセスより 一 段 高 く 位 置 づけされていて この 中 に 他 の 6 つのプロセスが 全 て 包 含 されている つまり このプロセスの 3 実 行 制 御 の 中 に ソフトウェア 構 成 識 別 から インタフェース 制 御 までの6つのプロセスが 全 て 置 かれる ことになる この 関 係 を 図 示 すると 図 表 8-1 のようになる このように 見 てみるとソフトウェアの 構 成 管 理 全 体 のプロセスも 最 初 に 準 備 の 段 階 があり それに 基 づいて 計 画 を 立 て 計 画 に 従 って 実 行 し レビューと 評 価 を 行 い 最 後 に 終 了 すると いう 段 階 を 踏 む つまりここで 1 つの PDCA サイクル 10 を 回 すことになり ソフトウェアの 構 成 管 理 の 仕 事 に 進 め 方 はソフトウェア 開 発 の 他 の 仕 事 の 進 め 方 と 何 ら 変 わることはないという ことになる ソフトウェア 構 成 管 理 の 開 始 および 範 囲 の 定 義 この 最 初 に 位 置 づけされている 開 始 および 範 囲 の 定 義 の 作 業 は 計 画 作 成 前 に 行 うもの である 別 の 言 い 方 をすると ここで 検 討 した 結 果 などがソフトウェアの 構 成 管 理 作 業 の 大 枠 を 決 め さらにその 計 画 に 記 述 されることになる 共 通 フレーム 2013 によれば 次 のような 事 項 を 決 定 する 作 業 がここで 実 行 されることになっている[IPA13] 1. 構 成 管 理 におけるアクティビティ 2. そのアクティビティを 遂 行 するための 手 続 きと 予 定 3. そのアクティビティを 遂 行 する 責 任 を 負 う 組 織 4. 関 係 する 他 の 組 織 つまり 共 通 フレーム 2013 によれば この 段 階 で 明 らかにしなければならないことは ソフ トウェアの 構 成 管 理 を 遂 行 するために 何 を どのように 誰 (どの 部 門 )が 行 うのかを 明 確 にすることである としている しかしこれだけでは 必 ずしも 充 分 ではなく これらに 加 え て いつその 作 業 を 行 うのか その 作 業 を 行 うに 当 たってどのような 資 源 が 必 要 か などにつ いても 同 時 に 明 らかにしておかなければならない つまり 構 成 管 理 の 作 業 の 実 施 に 関 する 5W1H を 明 確 にする 必 要 があるということになる そしてこれらの 内 容 は 後 で 述 べるソフト ウェア 構 成 管 理 の 計 画 に 記 載 されなければならない ソフトウェアの 構 成 管 理 は 単 に 共 通 フレーム 2013 でいう 開 発 プロセスをカバーするだけで なく 保 守 や 運 用 のプロセスを 含 むソフトウェア ライフサイクル 全 体 で 実 施 することができ る むしろ 本 来 的 には ソフトウェアの 構 成 管 理 がカバーするべき 領 域 は 保 守 などを 含 めた この 広 い 範 囲 であるべきだろう その 前 提 で 前 述 の 技 術 報 告 書 にはここで 行 う 作 業 として 具 体 的 に 以 下 のものなどを 決 めることをあげている[JIS99a] 1. ソフトウェアの 構 成 管 理 の 対 象 にするソフトウェア 製 品 の 決 定 構 成 品 目 の 決 定 と 構 成 品 目 識 別 の 仕 組 み 2. ソフトウェアの 構 成 管 理 の 計 画 書 に 記 述 された 通 りに 作 業 が 行 われている 証 拠 また 10 PDCA サイクルについては ISO9001 に 関 する 議 論 をする 第 39 章 で 論 じる 8-7
は 保 証 の 識 別 3. ソフトウェアの 構 成 管 理 の 各 作 業 を 行 う あるいは 責 任 を 持 っている 組 織 の 識 別 と これらの 組 織 体 のソフトウェアの 構 成 管 理 での 役 割 と 責 任 の 明 確 化 4. 構 成 品 目 を 構 成 制 御 の 下 に 移 す 方 法 およびその 変 更 の 承 認 / 拒 否 の 基 準 5. 版 管 理 の 仕 組 み 6. 構 成 項 目 の 構 造 を 説 明 する 文 書 の 明 確 化 7. 構 成 品 目 の 状 態 の 意 味 前 述 の 通 りここでの 検 討 結 果 を 基 に 次 に 述 べる 計 画 を 立 案 する ソフトウェアの 構 成 管 理 の 計 画 ソフトウェアの 構 成 管 理 の 範 囲 が 定 義 されると それを 前 提 にソフトウェアの 構 成 管 理 を 実 施 する 計 画 を 立 案 することになる この 計 画 に 盛 り 込 むべき 内 容 ついて IEEE にその 規 格 が ある IEEE Std 828-2012 と 呼 ばれるものがそれである[IEE12a] これによると ソフトウェアの 構 成 管 理 の 計 画 については 以 下 の 内 容 を 以 下 の 順 序 で 記 述 するのがよいとしている 1. はじめに 2. ソフトウェアの 構 成 管 理 のマネジメント 3. ソフトウェアの 構 成 管 理 の 活 動 4. ソフトウェアの 構 成 管 理 のスケジュール 5. ソフトウェアの 構 成 管 理 実 施 のためのリソース 6. この 計 画 のメンテナンス この 規 格 には 計 画 についてもっと 詳 細 な 内 容 についての 記 述 がある しかし 基 本 的 には 既 に 記 した 検 討 の 結 果 を 記 述 することでよい ソフトウェアの 構 成 識 別 計 画 が 立 案 されると それに 基 づいて 実 際 の 作 業 が 開 始 されることになる それをここでは 実 行 制 御 と 呼 んでいる 前 述 の 通 りこの ソフトウェアの 構 成 識 別 から インタフェー ス 制 御 までの 6 つの 作 業 が 実 行 制 御 の 中 に 含 まれる 作 業 である この 6 つの 作 業 で 小 さなもう 1 つの PDCA サイクルを 構 成 している ソフトウェアの 構 成 管 理 の 目 的 は ソフトウェアへの 変 更 要 求 を 管 理 し それにうまく 対 応 することにあると 述 べた そのソフトウェアの 構 成 管 理 での 具 体 的 な 作 業 としての 最 初 のもの である 構 成 識 別 の 作 業 は 以 下 の 2 つから 構 成 されている 1. 構 成 品 目 を 明 確 にすること 2. 構 成 品 目 の 管 理 の 方 法 を 明 確 にすること 構 成 管 理 の 対 象 物 として その 変 更 の 管 理 と 対 応 を 行 うものをソフトウェア 構 成 品 目 (Software Configuration Item:SCI)と 呼 ぶ 11 構 成 識 別 での 最 初 の 作 業 は まずこの 構 成 品 目 を 明 確 にし それらがそれぞれ 別 のものとして 識 別 できるようにするすることである スティーヴ マコネル(Steve McConnell)は ソフトウェア 開 発 プロジェクトの 成 果 物 で 11 ソフトウェアの 構 成 管 理 の 考 え 方 や 手 順 / 方 法 は 決 して 難 しいものではない しかしここ で 使 われる 言 葉 はやや 特 殊 なので あるいは 注 意 が 必 要 かも 知 れない 構 成 品 目 とは 一 言 で 言 えば 構 成 管 理 で 管 理 の 対 象 とするもの である 8-8
は 次 のようなものが 構 成 品 目 になりうるとしている 12 [MCC98] 変 更 管 理 計 画 書 変 更 提 案 書 ビジョンステートメント トップ 10 リスク 一 覧 ソフトウェア 開 発 計 画 書 (プロジェクトのコストとスケジュ-ルの 見 積 もりを 含 む) ユーザインタフェースのプロトタイプ ユーザインタフェースのスタイルガイド ユーザーマニュアル 兼 要 求 仕 様 書 品 質 保 証 計 画 書 ソフトウェアアーキテクチャ 設 計 書 ソフトウェア 統 合 手 順 書 ステージ 別 納 品 計 画 個 別 ステージ 計 画 書 ( 小 規 模 マイルストーンの 達 成 スケジュールを 含 む) コーディング 規 約 書 ソフトウェアテストケース 定 義 書 ソースコード 製 品 に 組 み 込 んだメデイア(グラフィック サウンド ビデオなどのファイルを 含 む) ソフトウェアビルド 指 示 書 (make ファイル) 各 ステージの 詳 細 設 計 文 書 各 ステージ 用 のソフトウェア 構 築 計 画 書 インストールプログラム 導 入 マニュアル(カットオーバーハンドブック) リリースチェックリスト リリース 承 認 用 紙 プロジェクトログ プロジェクト 履 歴 これらの 構 成 品 目 ごとに 適 切 な 識 別 子 をつけて それぞれが 別 のものとして 区 別 できるよう にする 必 要 がある 識 別 子 として 例 えば 次 のようなものを 考 えることができる ここで 版 番 号 が 常 に 最 後 についていることに 留 意 して 欲 しい 文 書 文 書 番 号 文 書 名 作 成 日 付 版 番 号 プログラム プログラム ID 作 成 日 付 版 番 号 この 構 成 品 目 群 を 管 理 するためのライブラリを ソフトウェア ライブラリと 呼 ぶ 次 に 必 要 な 作 業 は どのような 場 合 にこの 構 成 品 目 を 構 成 管 理 の 対 象 にするのかという 基 準 などを 明 確 にすることである ソフトウェアの 構 成 管 理 の 方 法 を 図 表 8-2 に 示 す 12 ここに 挙 げられている 文 書 名 等 はマコネルがその 著 書 の 中 で 説 明 しているもので この 原 稿 ではほとんど 説 明 していない 詳 細 はマコネルの 著 書 [MCC98]を 参 照 していただきた い ここでこれを 示 した 理 由 は プロジェクトで 作 成 する 成 果 物 (ドキュメント 類 だけでな くプログラムも 含 む)が 全 部 構 成 品 目 になりうることを 示 したかったということである 8-9
新 しく 作 られる 構 成 品 目 ( 文 書 やプログラムなど)は あるレベルになると 基 準 線 と 記 された 線 を 超 えて 構 成 制 御 の 下 に 置 かれる この 状 態 で 構 成 制 御 の 下 に 置 かれた 文 書 やプ ログラムへの 変 更 は 非 常 に 厳 しく 管 理 されている ここで 管 理 されている 構 成 品 目 に 内 容 の 変 更 が 必 要 になれば その 構 成 制 御 の 仕 組 みに 従 っ て 変 更 が 許 可 され 変 更 作 業 が 実 施 される 構 成 制 御 の 仕 組 みについては 次 項 で 述 べる 変 更 作 業 中 の 構 成 品 目 は 一 度 この 構 成 制 御 の 下 からはずされる そして 変 更 が 終 了 すれば 改 めて 構 成 制 御 の 下 に 置 かれる この 場 合 に 版 番 号 が 更 新 されることになる 構 成 識 別 の 2 つ 目 の 作 業 として 行 われるものは 構 成 品 目 を 基 準 線 を 超 えて 構 成 制 御 の 下 に 移 す 条 件 と 手 続 版 番 号 更 新 の 基 準 と 手 続 などを 明 確 にすることである 一 般 にプログラムは 単 体 テスト 終 了 時 点 文 書 類 はレビュー 終 了 時 点 に 構 成 制 御 の 下 に 移 される 構 成 品 目 は 我 々が 作 成 したソフトウェア( 最 終 製 品 と 部 品 )だけである 必 要 はない 外 部 から 購 入 したり 外 部 に 委 託 して 開 発 したり ベンダーから 提 供 されたりしたもの あるいは 個 々の 部 品 を 組 み 合 わせた 中 間 製 品 など 全 てを 必 要 なら 構 成 品 目 に 含 めることができる なおソフトウェアの 構 成 品 目 は 時 間 の 経 過 とともに 状 態 を 変 えることになる 具 体 的 には 当 初 これらは 開 発 段 階 にあることになるが カットオーバーや 製 品 出 荷 の 時 期 になると リ リースおよび 出 荷 段 階 にその 状 態 が 変 わる このような 構 成 品 目 の 状 態 の 変 更 を 昇 格 と 呼 んでいる 図 表 8-2 ソフトウェアの 構 成 管 理 における 管 理 方 法 ([JIS99a]より) ソフトウェアの 構 成 制 御 ソフトウェアの 構 成 制 御 とは 構 成 管 理 の 対 象 になっている 構 成 品 目 に 変 更 が 必 要 になった 場 合 それに 対 応 するための 全 ての 必 要 な 活 動 を 指 す この 一 連 の 作 業 の 流 れを 図 表 8-3 に 示 す ソフトウェアの 構 成 制 御 の 下 に 置 かれている 構 成 品 目 に 変 更 が 必 要 になったと 認 識 した 人 は まずその 事 実 を 所 定 の 書 式 に 記 載 し 変 更 を 要 求 する 構 成 管 理 チームはこの 変 更 要 求 を 受 け 取 ると 必 要 ならチーム 外 の 人 の 協 力 も 得 て この 要 求 によって 変 更 しなければならない 構 成 品 目 は 何 で その 変 更 にどれくらいの 工 数 を 必 要 とす るのか 変 更 は 不 可 欠 か 不 可 欠 でない 場 合 この 変 更 でどのような 効 果 が 期 待 できるか など 8-10
を 明 らかにする ソフトウェアの 構 成 管 理 を 行 う 場 合 に この 変 更 要 請 を 受 けるか 拒 否 するかを 決 めるための 委 員 会 をあらかじめ 設 置 しておく この 委 員 会 を ソフトウェア 構 成 委 員 会 (SCB:Software Configuration Board)と 呼 んでいる 小 さなシステムではこの 委 員 会 の 構 成 員 は1 人 でもよい とされている しかし 私 は 個 人 的 な 経 験 から 最 低 でも 2 名 以 上 が 必 要 と 考 えている 原 則 として 定 期 的 にこの 委 員 会 を 開 いて それぞれの 変 更 要 求 に 対 して 変 更 は 不 可 欠 か 不 可 欠 でない 場 合 にはコスト 対 効 果 などを 基 に その 変 更 を 実 施 するかどうかを 決 める 変 更 しないと 決 まった 場 合 は 理 由 とともにその 決 定 を 提 案 者 に 連 絡 し 記 録 を 取 って 一 連 の 手 続 を 終 える 変 更 する 場 合 は 変 更 を 行 う 担 当 者 を 決 め 変 更 するべき 構 成 品 目 を 構 成 制 御 の 対 象 から 一 度 外 し 変 更 を 加 え 必 要 なレビューやテストを 実 施 して 構 成 制 御 の 下 に 移 すための 条 件 を 充 足 していれば 改 めて 構 成 制 御 の 下 に 移 す その 際 に 変 更 についての 記 録 を 取 り 管 理 する 併 せて 構 成 品 目 に 変 更 が 実 施 されたことを 周 知 徹 底 する 同 時 に 変 更 された 構 成 品 目 の 版 番 号 を 更 新 する 始 め 1 変 更 要 求 を 明 確 にする その 変 更 要 求 の 影 響 を 明 確 にする 変 更 対 象 の 構 成 品 目 を 構 成 制 御 の 下 からはずす 変 更 作 業 を 行 う 変 更 を 実 施 するか N 変 更 を 行 わないこと を 連 絡 する Y 1 再 度 構 成 制 御 の 下 に 移 す 変 更 の 終 了 を 公 表 する 変 更 についての 記 録 を 作 成 する 終 わり 図 表 8-3 構 成 制 御 の 流 れ 変 更 についての 記 録 などについては 次 の ソフトウェアの 構 成 状 況 記 録 で 述 べる 以 上 が ソフトウェアの 構 成 制 御 についての 作 業 の 流 れである ソフトウェアの 構 成 状 況 記 録 ソフトウェアの 構 成 管 理 に 関 して その 状 況 を 克 明 に 記 録 する 必 要 がある この 記 録 は 構 成 品 目 の 状 況 を 把 握 したり 次 に 述 べる ソフトウェア 構 成 評 価 で 構 成 管 理 が 適 切 に 実 施 さ れているかを 判 断 したりするためなどに 使 用 する 構 成 状 況 の 記 録 は まず 構 成 制 御 で 変 更 要 求 が 起 票 されるところから 始 まる この 変 更 要 求 8-11
のあるものは 承 認 されて 実 際 の 変 更 に 結 びつき あるものは 拒 否 されて 変 更 要 求 としてはそれ で 終 わりになる いずれの 場 合 もこの 過 程 承 認 / 拒 否 の 理 由 および 変 更 が 実 施 された 場 合 にはその 変 更 の 内 容 担 当 者 変 更 に 要 した 期 間 や 工 数 など 変 更 についての 情 報 を 記 録 する さらにソフトウェアの 構 成 管 理 全 体 として 定 期 的 に 次 のような 内 容 の 報 告 書 を 作 成 して 関 係 者 に 報 告 する この 報 告 書 作 成 作 業 も ここに 位 置 づけされる 1. ソフトウェア 製 品 の 構 造 2. 各 構 成 品 目 の 状 況 3. 全 ての 変 更 要 求 の 状 況 4. 承 認 された 変 更 およびその 修 正 によって 変 更 された 内 容 と 結 果 5. 拒 否 された 変 更 要 求 には その 拒 否 の 理 由 など 6. 未 解 決 の 修 正 など 7. ソフトウェアの 構 成 管 理 の 作 業 全 体 で 何 らかの 問 題 があれば 1 その 問 題 の 内 容 2 問 題 点 を 含 んだ 構 成 品 目 3 問 題 が 引 き 起 こす 結 果 4 問 題 の 解 決 方 法 5 必 要 に 応 じて 一 時 的 な 解 決 策 ソフトウェア 構 成 評 価 ソフトウェア 構 成 評 価 では 次 のような 事 項 を 調 査 して ソフトウェアの 構 成 管 理 作 業 が 全 体 として 適 切 に 運 営 されており 有 効 に 効 果 を 発 揮 していることを 確 認 し 報 告 する この 基 に なる 情 報 は 前 記 ソフトウェアの 構 成 状 況 記 録 で 記 録 されたものである 1. ライブラリに 保 管 されている 構 成 品 目 が それについての 記 録 と 一 致 していること 2. ソフトウェアの 構 成 品 目 が 承 認 された 変 更 要 求 にしたがって 適 切 に 変 更 され 管 理 されていること 3. ソフトウェア 製 品 が その 製 品 を 構 成 している 構 成 品 目 について 完 全 であり 利 用 可 能 であること ソフトウェアのリリース 管 理 および 出 荷 ソフトウェアは 最 終 的 に 本 番 稼 働 されなければならない そのために リリース あるい は 出 荷 という 手 続 が 必 要 になる したがって 計 画 立 案 時 にはリリース および 出 荷 についても 計 画 を 立 て この 作 業 の 実 施 に 当 たってもその 計 画 に 基 づいて 作 業 を 行 う 必 要 がある 言 うまでもないことだが リリース あるいは 出 荷 の 対 象 になるものはプログラムだけでな く 文 書 類 もその 対 象 になる ここでリリース あるいは 出 荷 される 構 成 品 目 は そのソフト ウェア 製 品 の 寿 命 がある 限 り 保 守 作 業 の 対 象 になる リリース あるいは 出 荷 されるものは 直 接 的 には 個 々のモジュールや 文 書 類 であるが し かし 考 え 方 として リリース あるいは 出 荷 されるものは 製 品 としてのソフトウェアであ る したがってここではその 製 品 を 構 成 しているプログラムや 文 書 などの 構 成 品 目 を 明 確 にするため 本 来 の 意 味 での 構 成 管 理 が 必 要 になる 開 発 の 段 階 からリリース 及 び 出 荷 の 段 階 に 進 むためには 構 成 品 目 の 昇 格 が 必 要 にな る 8-12
インタフェース 制 御 OS などのシステム ソフトウェアやミドルウェアなどを 開 発 する 場 合 ハードウェアや 他 の システム ソフトウェア 支 援 ソフトウェア 並 列 / 並 行 開 発 によって 製 品 化 されるソフトウ ェアなどとのインタフェースが 重 要 になる そのような 場 合 ソフトウェアの 構 成 管 理 では イ ンタフェースについての 文 書 を 作 成 し 管 理 し 必 要 に 応 じて 適 宜 変 更 しなければならない インタフェースについての 文 書 を 作 成 する 場 合 それに 記 載 する 内 容 には 以 下 のようなもの がある 1. インタフェースの 目 的 2. インタフェースにおける 要 求 事 項 3. 影 響 を 受 ける 組 織 4. 管 理 するべきインタフェースについての 文 書 5. インタフェースに 影 響 を 与 える 変 更 要 求 を 他 者 に 伝 える 手 順 およびインタフェース への 影 響 の 評 価 を 共 同 または 個 別 に 行 う 手 順 6. インタフェースの 変 更 管 理 責 任 者 を 含 む インタフェース 文 書 の 承 認 変 更 および 発 行 の 手 順 7. インタフェース 文 書 の 変 更 を 他 の 構 成 品 目 に 対 する 変 更 として 解 釈 する 手 順 8. 役 割 と 責 任 ソフトウェア 構 成 管 理 の 作 業 の 全 体 像 ソフトウェア 構 成 プロセスの 実 現 の 中 に 位 置 づけされる ソフトウェアの 構 成 識 別 か ら インタフェース 制 御 までのこれまで 述 べてきたソフトウェアの 構 成 管 理 に 関 わる 作 業 の 全 体 像 を 図 表 8-4 に 示 す 図 表 8-4 ソフトウェア 構 成 管 理 作 業 の 全 体 像 ([JIS99a]より) この 一 連 の 作 業 それ 自 体 前 述 の 通 り 1 つの 小 さな PDCA サイクルを 構 成 していると 考 える ことができる この 一 連 の 作 業 は ソフトウェアの 構 成 管 理 全 体 で 構 成 される 一 段 大 きな 8-13
PDCA サイクルの 実 行 (D) の 部 分 に 相 当 することになる 13 ソフトウェア 構 成 管 理 プロセスのレビューおよび 評 価 このソフトウェアの 構 成 管 理 の 作 業 の 中 で ソフトウェアの 構 成 管 理 の 作 業 全 体 が 当 初 の 計 画 に 基 づいて 適 切 に 実 行 されていることを 保 証 しなければならない 仮 に 両 者 の 間 に 不 一 致 が ある 場 合 は 共 通 フレーム 2013 でいう 問 題 解 決 プロセス や プロセス 修 正 プロセス を 実 施 して 両 者 の 間 に 不 整 合 がないようにしなければならない このための 作 業 が ソフトウェア 構 成 管 理 プロセスのレビューおよび 評 価 である これは 大 きな PDCA サイクルの チェック(C) に 相 当 するものでる この 結 果 に 基 づいて 適 切 な 修 正 の 措 置 が 執 られると それが 行 動 (A) に 相 当 することになる ソフトウェア 構 成 管 理 作 業 の 終 了 ソフトウェアの 構 成 管 理 が 単 に 開 発 プロセスを 支 援 の 対 象 にしているだけでなく 運 用 や 保 守 プロセスまでも 支 援 している 場 合 には この 構 成 管 理 作 業 には あるいは 終 わりはないかも しれない しかし 開 発 作 業 だけを 支 援 の 対 象 にしている 場 合 などでは 構 成 管 理 の 作 業 には 終 わり がある 構 成 管 理 作 業 に 終 わりがある 場 合 には 当 初 に 立 てた 計 画 に 従 って この 作 業 を 適 切 に 終 了 させることが 必 要 である ソフトウェア 構 成 管 理 から 得 られる 情 報 ソフトウェアの 構 成 管 理 の 作 業 全 体 を 通 して 以 下 のような 情 報 を 得 ることができる 1. 構 成 品 目 識 別 の 仕 組 み 2. 構 成 品 目 の 版 管 理 の 仕 組 み 3. 構 成 項 目 の 構 成 4. 構 成 品 目 の 状 態 の 意 味 5. それぞれの 構 成 品 目 の 状 況 6. 構 成 品 目 の 状 況 の 完 全 性 トレーサビリティへの 対 応 今 開 発 中 の 情 報 システムに 仕 様 変 更 が 入 って 要 求 仕 様 書 が 変 更 になれば それに 応 じて 対 応 する 機 能 を 記 した 設 計 書 が 変 更 され 該 当 するソース プログラムに 変 更 が 入 り 場 合 によれ ばテストシナリオやテストデータも 変 更 されるかもしれない ソフトウェア 全 体 を 的 確 に 保 守 しようとすると この 多 くの 文 書 類 を 適 切 に 変 更 することが 必 要 である しかし 現 在 のソフトウェアの 構 成 管 理 では 構 成 品 目 間 にトレーサビリティについての 紐 付 けを 行 うことについて 何 も 述 べていない つまり 構 成 品 目 同 士 は 常 に 独 立 したものとして 取 り 扱 われている 上 で 述 べたようなことを 的 確 に 実 行 するためには ソース プログラムを 含 む 文 書 類 の 各 部 分 に 記 載 されているものが 他 の 文 書 類 のどこと 関 連 しているかを 把 握 してお きたい これがトレーサビリティへの 対 応 と 呼 ばれるものである 現 在 のソフトウェアの 構 成 管 理 でこれを 行 うためには 構 成 制 御 の 過 程 で 変 更 対 象 を 的 確 に 洗 い 出 して 対 応 するしか 方 法 がない この 作 業 を 容 易 にし より 的 確 に 行 うために 構 成 品 目 間 13 よくあることだが ここでも PDCA サイクルは 二 重 になっている 8-14
にトレーサビリティへの 対 応 のための 紐 付 けを 行 っておくのがよい これによって 例 えば 要 件 定 義 書 のある 部 分 が 変 更 されなければならなくなると 該 当 する 設 計 書 とソース プログラ ムなどの 変 更 必 要 箇 所 も 容 易 に 把 握 することができる あるユーザはその 社 内 に ソフトウェア 生 産 管 理 システム と 名 付 ける 情 報 システムを 用 意 し その 中 にソフトウェアの 構 成 管 理 の 機 能 とこの 紐 付 けの 両 方 を 取 り 込 んで 効 果 を 挙 げて いる ソフトウェアの 変 更 作 業 の 支 援 正 規 のソフトウェアの 構 成 管 理 の 規 格 には 入 っていないが この 作 業 を 支 援 するツールの 中 には 変 更 作 業 を 支 援 する 機 能 を 持 ったものがある その 機 能 には 以 下 のようなものが 含 まれている 1. 同 じ 構 成 品 目 に 同 時 に 複 数 の 変 更 が 入 らないようにコントロールする つまりある 変 更 が 終 了 して 再 び 構 成 制 御 の 下 に 戻 ってくるまで 次 の 変 更 のためにその 構 成 品 目 を 構 成 制 御 の 下 から 他 のところに 移 すことができないようにする 2. あるいは 同 時 に 並 行 した 複 数 の 変 更 を 許 す つまり 変 更 された 構 成 品 目 を 構 成 制 御 の 下 に 戻 す 時 並 行 してなされていて 既 に 作 業 を 終 了 し 構 成 制 御 の 下 に 戻 っている 変 更 の 内 容 が 改 めて 正 しく 反 映 されるように 注 意 を 促 す 3. 任 意 の 構 成 品 目 を ある 特 定 の 時 点 の 古 い 版 に 戻 す 国 際 規 格 の 中 でのソフトウェアの 構 成 管 理 の 位 置 づけ ISO の 規 格 の1つに ISO 10007:2003 があり 品 質 マネジメントシステム- 構 成 管 理 の 指 針 という 標 題 を 持 っている[ISO03c] この 規 格 はハードウェアなどを 含 む 一 般 的 な 製 品 につ いての 構 成 管 理 の 規 格 であって ソフトウェアの 構 成 管 理 はこの 規 格 と 整 合 性 を 保 っている ソフトウェアの 構 成 管 理 の 作 業 は ISO/IEC 12207:2008 の 国 際 規 格 の 中 では 支 援 プロ セス の1つとして 位 置 づけされている またそれを 受 けた 共 通 フレーム 2013 では 構 成 管 理 は 2. 支 援 ライフサイクルプロセス の 中 の 2.2 構 成 管 理 プロセス として 位 置 づけさ れている ここで 行 うべき 作 業 の 考 え 方 手 順 内 容 などは ISO/IEC TR 15846:1998(それを JIS 化 したものは JIS TR X 0018:1999)に 詳 しい またカーネギー メロン 大 学 ソフトウェア 工 学 研 究 所 (SEI:Software Engineering Institute) が 設 定 した CMMI(Capability Maturity Model Integration: 能 力 成 熟 度 モデル 統 合 )の 段 階 表 現 では ソフトウェア 構 成 管 理 はレベル 2( 管 理 された )でのプロセスに 位 置 づけされて いる[CMM06] つまりこれらのことは ソフトウェアの 構 成 管 理 の 作 業 がソフトウェア 工 学 の 中 で 極 めて 基 本 的 なところに 位 置 づけされていることを 示 している キーワード 本 来 の 構 成 管 理 ソフトウェアの 構 成 管 理 PDCA サイクル 構 成 識 別 構 成 制 御 構 成 状 況 記 録 構 成 評 価 リリース 管 理 および 出 荷 インタフェース 制 御 構 成 品 目 ソフトウェ ア ライブラリ 基 準 線 版 管 理 ソフトウェア 構 成 委 員 会 昇 格 トレーサビリティ ソフ トウェア 生 産 管 理 システム CMMI Capability Maturity Model Integration 能 力 成 熟 度 モデル 統 合 8-15
人 名 スティーヴ マコネル(Steve McConnell) 規 格 ISO/IEC TR 15846:1998 JIS TR X 0018:1999 IEEE Std 828-2012 ISO/IEC 12207: 2008 ISO 10007:2003 CMMI-DEV v1.3 共 通 フレーム 2013 参 考 文 献 とリンク 先 [CMM10] CMMI 成 果 物 チーム 開 発 のためのCMMI 1.3 版 CMMI-DEV, V1.3 CMU/SEI-2010-TR-033 ESC-TR-2010-033 より 良 い 成 果 物 のためのプロセス 改 善 カ ーネギー メロン 大 学 ソフトウェア 工 学 研 究 所 2010 年 この 資 料 は 次 の URL からダウンロードできる http://cmmiinstitute.com/resource/japanese-language-translation-of-cmmi-fordevelopment-v1-3/ [IEEE12a] Software Engineering Standards Committee of IEEE Computer Society, IEEE Std. 828 Software Configuration Management, IEEE, 2012. [IPA13] 独 立 行 政 法 人 情 報 処 理 推 進 機 構 ソフトウェア エンジニアリング センター 編 共 通 フレーム 2013~ 経 営 者 業 務 部 門 が 参 画 するシステム 開 発 および 取 引 のために~ ソフ トウェアライフサイクルプロセス 共 通 フレーム 2013 ( 株 )オーム 社 平 成 25 年. [ISO98] ISO / IEC, Information technology -- Software life cycle processes -- Configuration Management ISO/IEC TR 15846:1998, ISO/IEC,1998. [ISO03c] ISO, Quality Management System Guideline for Configuration Management ISO 10007:2003, ISO, 2003. [ISO08] ISO/IEC, System and software engineering Software life cycle process ISO/IEC 12207 IEEE Std 12207-2007, ISO/IEC, 2008-02-21. [JIS99a] 日 本 工 業 標 準 調 査 会 情 報 部 会 審 議 ソフトウェアライフサイクルプロセス- 構 成 管 理 TR X 0018:1999 (ISO/IEC TR 15846:1998) 日 本 規 格 協 会 平 成 11 年. [MCC98] Steve McConnell 著 ( 株 )アルテア ジャパン 訳 久 手 堅 憲 之 監 修 新 訳 ソフト ウェアプロジェクトサバイバルガイド 日 経 BP ソフトプレス 2005 年. この 本 の 原 書 は 以 下 のものである Steve McConnell, Software Project Survival Guide, Microsoft, 1998. (2004 年 ( 平 成 16 年 )7 月 20 日 初 稿 作 成 ) (2006 年 ( 平 成 18 年 )8 月 17 日 一 部 修 正 ) (2007 年 ( 平 成 19 年 )5 月 20 日 一 部 追 加 ) (2007 年 ( 平 成 19 年 )8 月 30 日 一 部 修 正 ) (2014 年 ( 平 成 26 年 )3 月 10 日 一 部 修 正 ) 8-16