オルタナティブ・ブログ > 森崎修司の「どうやってはかるの?」 >

計測できそうでできない多くのこと。エンピリカル(実証的)アプローチで。

プロジェクト計画時に参考にするものは?

»

機器、システム、ソフトウェア開発のプロジェクト計画を立てるときに最も頼りになるものの1つはそれまでの経験だろう。しかしながら「根拠は経験です」とだけ言い切るのもなかなかに難しいところだ。では他に頼りになるものは何かというとおそらく過去のプロジェクト実績データ(エンピリカルデータ)だろう。

細かい裏づけのある積み上げの計画とともに「前にあったプロジェクトから考えるとこれくらいになりそうです」とさりげない根拠があると説得力も増すだろう。リリースも金額もすべては既に決まっているから見積りも計画も関係ない、というプロジェクトもあるが、計画をブレークダウンした部分には見積りや計画の自由度があるはずだ。たとえば、工程毎の体制や工数配分、部分リリース箇所の特定、テストの優先順位付けには余地があるだろう。

エンピリカルソフトウェア工学では、ソフトウェア開発の計画や見積りにおいて、過去の実績データによる妥当性確認の方法が検討されている。多くはプロジェクト全体の工数、期間、成果物の規模、品質の見積りが対象である。私の経験では、全体の見積り値の妥当性確認よりも特定のフェーズの工数等の分割された値の過去のデータが提示の根拠とともに得られるほうが役立てやすいと思う。たとえば、計画時に過去の類似のプロジェクトでのテスト工数の実績値の平均と類似しているプロジェクトの選択理由(何をもって似ていると判断されているか)が出てくるという具合だ。

類似の根拠と過去の実績値を得ることを目的として、相関ルールを分析を使い、類似のプロジェクトの選定と類似プロジェクトの間での実績データの平均と分散を得る手法(手順)を検討している。手法の一部を自動実行するためにNEEDLEというツールを作っている。その紹介記事がここに掲載された。記事の中では、日本ユニシスさんから貸与いただいた実績データをもとに、テスト工数比率の実績値と外部委託の比率の実績値とプロジェクト特性値の関係を得た事例が紹介されている。

Comment(0)