ソフト開発監査チェックリスト(6)構成管理プロセス

2021年2月5日ソフト開発監査

開発プロセスチェックリストの5番目は構成管理です

この記事では、ソフト開発監査に使う監査チェックリストの個々の項目についての紹介をしていきます。監査チェックリストは①開発プロセス ②要件管理 ③テスト ④設計と実装 に分かれていて、この記事では①開発プロセスの中の構成管理の個々の項目について紹介します。(チェックリストそのものはソフト監査実務・チェックリストその1:開発プロセス(要件管理)の記事に載っていますので、そちらをご覧下さい)

構成管理活動のチェックは設計ドキュメントとソースコードのベースライン管理の確認です

開発プロセスチェックリストの中で構成管理のチェック項目は、項目番号の先頭がCM- となっている6項目です。構成管理という言葉はソフト開発ではよく使いますが、馴染みの無い方もおられるかも知れません。 概念はそれほど難しい事ではなくて、設計ドキュメントやソースコードなどのバージョンを管理する活動の事です。

ソフトを作るには、要求仕様書や設計書やテスト仕様書など多くのドキュメントが必要で、それらのドキュメントを元に多くのソースコードが作れらます。ドキュメントやソースコードの数は数十件から数千件になるのですが、それらが全て正しいバージョンの物でないといけません。正しいバージョンのドキュメントやソースコードの一式を、そのソフトのベースラインと呼びます。CPUが実行する最終的なプログラムコードを生成すために必要な基礎(ベース)という意味です。

ベースライン管理とは簡単に言うと全員が正しいバージョンを使っている事の管理です

例えば、Aさんが正しいバージョンの設計書を見ているのに、Bさんが1つ古いバージョンの設計書を見ていると、AさんとBさんの作ったプログラムを組み合わせた時に正しく動かない場合が生じてしまいます。複数の人が協力してソフトを作り上げるプロジェクトの場合には、ソフト開発プロジェクトに関わる全ての人が正しいバージョンのドキュメントやソースコードを見ている状態を維持するような活動が必要です。そのような活動を構成管理と呼んでいて、ソフト開発の現場にとってはとても大切な活動です。なお、ベースラインにはドキュメント以外に開発環境も含むのが一般的です。

それでは、順番に見ていきましょう

【項目番号:CM-01】

構成管理が必要な物は、設計ドキュメントソースコード以外にも色々な物があります。購入してきたオブジェクトコードも適切なバージョンでないといけないので構成管理が必要ですし、ビルド環境も変わるとインクルードされるライブラリが変わったりするので、やはり構成管理が必要です。そのプロジェクトで何を構成管理の対象としているのかを、まず最初に確認します。 

【項目番号:CM-02】

構成管理とは要するにバージョンの管理です。バージョンの管理とは要するにバージョンが変わった時にその変更作業を間違いなく行って、変わったバージョンを全ての関係者に漏れなく伝える事です。例えば設計書を改定して Ver1.1 から Ver1.2 にバージョンアップするならば、変更内容のレビューやレビュー指摘事項の対応や、変更前の Ver1.1 の保管や、変更後の Ver1.2 の保管など、やらないと行けない事が色々とあります。このように、構成管理の対象となっている物のバージョンを変える時の作業の手順が明確になっていて、その手順がきっちりと守られている事を確認します。

【項目番号:CM-03】

前項がバージョンを変更するための手順の確認だったのに対して、この項目は変更した事を全ての関係者に伝える手順についての確認です。設計書ーAが Ver1.1 から Ver1.2 にバージョンアップされたら、その瞬間に設計書ーAを参照している全ての人にその事が伝わって、Ver1.2の設計書ーAがアクセスできないといけません。メールで配布するのか、サーバに置いて全員がそれを参照するのか、方法は色々ありますが漏れの無い着実な方法が決まっていて、毎回その方法に従って全ての関係者に通知が届くようになっているかを確認します。

【項目番号:CM-04】

ソフト規模が小さければ、構成管理もEXCEL表などを使って人手で実施する事も可能ですが、ある程度規模が大きくなると人手では間違いが起きやすくなります。できれば、構成管理ツールを導入して少しでも間違いが入り込まないような運用にしておくのが好ましいです。そのような視点から、ドキュメントやソースコードに関してどんな構成管理ツールを採用しているのかを確認します。

【項目番号:CM-05】

ソフトにとって設計書も大事ですが、全てのソフト開発の営みは最終的にはソースコードに集約されます。そして、大規模なソフトの場合は巨大なマスターツリー維持管理しながらソフト開発が進みます。マスターツリーに登録されている数千以上のソースファイルのベースラインを正しく維持するには、マスターツリーの運用ルールが適切に作られている必要があります。間違いなくチェックインするマスターツリーの管理と正しいファイルをチェックインするソースファイルの管理の2つについて、適切なルールに従って運用されている事を確認します。

【項目番号:CM-06】

ドキュメントやソースコードや開発環境などのソフトベースラインが正しく維持されていたとして、それらのベースラインから最終的に実機の上で実行される実行コードを生成する手順が間違えていては、正しい実行コードが出来上がりません。ソフト開発の最後の詰めですが、その手順が明確になっているかどうかを確認します。

構成管理の次は外注管理です

構成管理の確認の次は外注管理についての確認項目について、次の記事で紹介します。

(次の記事)ソフト開発監査チェックリスト(7)外注管理プロセスソフト開発監査チェックリスト(7)外注管理プロセス に続く