レビューを「数」だけで管理しているからコストが膨らむソフトウェアレビュー入門(5)(2/3 ページ)

» 2010年08月19日 12時00分 公開
[森崎修司奈良先端科学技術大学院大学 情報科学研究科]

計画値や実績値は指標に過ぎず、最終目的や終了条件ではない

 では具体的な方法論の話に入りましょう。一般に、レビューを実施する多くの組織では、指摘密度の上限、下限の計画値を設定し、実績値と比較して「レビューが適切に実施されたか」について確認しています。以下の図1はそのような管理指標の書式の例です。

ALT 図1 レビュー管理票の一例。この票の場合、指摘件数「42件」を対象規模「80ページ」で割り算した「ページ当たり0.53件」が「指摘密度」の実績値となる。それに対して計画値は下限がページ当たり0.25件、上限が0.75件なのでこの実績値は管理指標の条件を満たしている、すなわち「レビューは順調に進んでいる」ことにはなるのだが……

 書式には、図1のように、「検出密度」の「計画上限値」や「計画下限値」を記入する欄があるでしょう。これらの計画値は過去の実績データや対象プロジェクト、対象ドキュメントの特徴を基に設定することが一般的です。

 この書式には、レビューを実施した後、実際の値から「対象規模」や「指摘件数」を記入します。「対象規模」には、ページ数、コード行数、FP(Function Point)数など、「規模」を表す数値を使い、エラーの「指摘件数」を「対象規模」で割り算して 「エラー検出密度」を求めます。そして、検出密度が計画上限と計画下限の間に収まっている場合に、「レビューが適切に実施された」と考えます。

 「指摘件数」を「対象規模」で割り算するのは、レビューごとに対象ドキュメントの規模が異なるため、指摘件数だけでは過去の実績との比較ができないからです(現実には非常に規模の小さい場合に問題になることもありますが、例外的な問題のためここでは割愛します)。

 とはいえ、この管理指標と数値目標は「あくまでも目安」の1つに過ぎないことを常に頭に入れておく必要があります。これはレビューが想定通りに進んでいることを示す「1つの手掛かり」でしかなく、「レビューが順調に進行している」ことを全面的に保証するものでは決してありません。管理指標や数値目標を“手掛かり”として、その背景にある“真の問題”を分析し、その改善に取り組むことが大切なのです。

ALT 図2 「●A」のレビューは「適切に実施されたレビュー」の範囲内にあるが、「●B」のレビューは「指摘密度が計画上限と計画下限」に収まってはいるものの「適切に実施されたレビュー」の範囲には入っていない。A、B以外にも、「適切に実施されたレビュー」の範囲内にありながら「計画上限と計画下限の範囲に収まらないレビュー」などさまざまなパターンがあり得る。すなわち「指摘密度」という指標は1つの目安に過ぎない

 図2は「指摘密度が計画上限と計画下限に収まっているレビュー」と「適切に実施されたレビュー」の関係を図示したものです。

 これを見れば、管理指標と数値目標は「あくまでも目安」の1つに過ぎず、「指摘密度が計画上限と下限の間の値であるからといって、必ずしも適切に実施されたレビューであるとは言えない」ということがよく分かるのではないでしょうか。

 特に請負開発では、この管理指標と数値目標を、進ちょく管理や進ちょく報告のデータとして、委託側に提出するケースが多く、その時点で数値が1人歩きしてしまうことが多い傾向にあります。例えば、レビュー実施後の値が計画上限、計画下限から外れている場合に、その理由を記述するように委託側から求められることがあります。そのため、上限、下限の値を意識し過ぎたり、ついつい目を奪われたりしてしまいがちなのです。

 最もひどい例としては、計画上限と計画下限の間に収まるよう、本来は1件の指摘を2件に分割して密度を高めたり、指摘されたエラーを計数せず、なかったことにして密度を低くしたりと、“実績値を操作する”ケースが挙げられます。しかしながらこうした行為は、「いつかは解決しなければならない問題」を先送りしているに過ぎないだけではなく、指標の計測という行為自体をも無意味なものにしてしまっているのです。

 つまり、請負開発でこの管理指標と数値目標を使う場合も、委託者と受託者の双方が「レビューやプロジェクトの状況について、コミュニケーションを取る1手段」と考え、この指標の実績値を基に、その背景にある“真の問題”に取り組む姿勢を持つことが肝要なのです。

 なお、このように委託者と受託者の間で、何らかの指標を「コミュニケーションの1手段」ととらえ、作業の進ちょくや品質を測る「唯一の判断基準」とは考えないスタンスは、レビューの管理指標に限らず、「過去の実績データと比較して、現在進行しているソフトウェア開発が順調かどうかを判断する指標」全般に当てはまる重要なポイントとなります。

そもそも何のためにレビューを行うのか?

 では、レビューの実施状況を管理するに当たって、上記のような管理指標や数値目標以外の何を頼りにすれば良いのでしょうか? そのためには、「管理指標や数値目標では把握できない部分」を意識しながら、管理指標や数値目標とうまく付き合うことをお勧めします。

 具体的に説明しましょう。図3はエラー指摘密度が同一となる指摘の例(a)(b)(c)を模式的に表したものです。四角は対象ドキュメントを、丸は指摘されたエラーを表しています。また、色が濃い丸は軽微な(指摘による修正工数低減の効果が小さい)エラーを表しています。

 (a)は軽微なエラーも含めて、ドキュメント全体からレビューで検出すべきエラーを検出できていることを図示したものです。これに対して(b)と(c)を見てください。「検出範囲」「指摘の質」の両面で偏りがある状態を示していることが分かると思います。しかし、「指摘密度」の点では(a)と同一の結果となります。レビューの質や終了条件を指摘密度のみに頼った場合に、このような状況が起きていることが把握できずに問題となることが多いのです。

ALT 図3 指摘密度は同じでも、指摘の「質」は大きく異なる。しかし指摘密度だけを管理指標にしてしまうと、こうした「質」のチェックができなくなってしまう

 例えば前のページの事例において、レビューアBにつられて、ほかのレビューアが同じようなエラーを指摘した場合、図3の(b)のように特定個所に偏った指摘になってしまいます。これでは、ほかの場所にも指摘されていないエラーが潜んでいるにもかかわらず、検出できなくなる可能性が高くなってしまいます。

 また、前のページの事例における「不適切な点」として、「書式の不備」についての指摘が出ていることも挙げられます。この指摘はレビュー本来の目的である「テストよりも早期に問題を発見することにより、修正コストを小さくする」ことには貢献しない指摘です。これは図3で表すと(c)に相当します。しかしながら、これらは指摘密度の観点からは同一であり、レビューの質に問題がある場合でも、数値のうえでは問題が表面化しないのです。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ