提案書評価のポイント

3. 技術選択の能力を評価する | 5.計画案から開発推進力を評価する

4. 見積もりの妥当性を評価する

勘だけに頼った見積もりの限界

ソフトウェア開発の見積もりは、とても難しい作業です。「勘」のようなミステリアス(?)な要素を一切排除することはなかなかできなくて、部分的には勘に頼るところが残ってしまうことが多いでしょう。とは言っても、勘だけに頼った見積もりには限界があります。そもそも、開発の初期段階(RFPや要求仕様書ができたくらいの段階)での見積もりには、一定の不確実性が伴います。一般論としては、優れた見積もり手法を適切に使ったとしても、この段階での見積もりには67%~150%くらいのブレ(100%が正確な見積もり)があると言われています(※)。勘だけに頼った見積もりは、これよりもさらにブレが大きいことでしょう。

勘だけに頼った見積もりというのがどのような見積もりかというと、何の分析的な過程も経ないままに、いきなり工数(多くの場合は「人月」)が出てきてしまうような見積もりです。開発者に見積もりの根拠を尋ねても明快な説明が得られない場合、このタイプの見積もりが行われている可能性が高いでしょう。このような見積もりは、規模の小さな開発(例えば数人月程度で終えられるような開発)を除いては、とてもリスクの高い見積もりです。

リスクが高いことには理由があります。まず、システムあるいは機能が一定以上の規模になると、いかに熟練した開発者といえども、そのシステムや機能を隅から隅まで一度に漏れなく認識するということは困難なはずです。認識が困難である以上は、正確な見積もりも困難だということになります。そして、開発の各作業に要する工数は担当する人間によって上下するという問題があります。一定以上の規模の開発になると、すべての担当者の能力を正確に把握して見積もりに織り込むということは、なかなか困難であることの方が多いはずです。

※Steve McConnell 『ソフトウェア見積もり 人月の暗黙知を解き明かす』 田沢恵・溝口真理子訳、久手堅憲之監修、 日経BPソフトプレス、2006年、「第4章 見積もり誤差はなぜ起きる?」より

妥当な見積もりの見分け方

開発会社が妥当な見積もりを行っているかどうかは、どのように見分ければ良いのでしょうか。それには、見積もりの途中過程の情報を提示するように開発者に求めてください。きちんと分析的な過程が存在し、どの部分が「勘」に基づく情報なのかを明快に説明できれば、その開発企業はまずまず妥当な見積もりを行っていると評価することができます。

分析的な過程とは何かというと、見積もり対象のブレークダウン(細分化)を行うことを指しています。機能をブレークダウンして多数のサブ機能に落とし込む、簡易な設計を行って多数のモジュールに細分化する、などといったことですね。この作業には意味があります。まず、細分化することで一度に見積もらなければならないもののサイズが小さくなります。そして、細分化して見積もる項目の数を多くすることで、「大数の法則」という統計学上の原理が働くようになるのです。項目が一つしかなければ、その項目の見積もりで生じた誤差がそのまま見積もり全体の誤差となってしまいます。それに対して項目が多数あれば、それぞれの項目の見積もりで生じた誤差が互いに相殺しあって、見積もり全体としての誤差は小さくなります。そして、統計学的には項目数が多くなればなるほど全体としての誤差は小さくなっていきます(これが「大数の法則」の内容です)。

図1. 大数の法則と見積もり誤差

もちろん、「大数の法則」も万能ではありません。ブレークダウンの作業で本来は挙げるべき項目を漏らしてしまえば、それはそのまま過少見積もりにつながります。また、「大数の法則」は誤差に「偏り」がないことを前提としていますので、全体的に過少見積もりあるいは過大見積もりをするような傾向がある場合には、その傾向がそのまま全体の見積もり誤差としても出てしまいます。

ですので、見積もり対象をブレークダウンする作業にも、ブレークダウンされた各項目の見積もりを出す作業にも、相応のスキルは要求されます。よって、分析的な過程を行っている開発企業の見積もりといえども絶対に精度が高いとまでは言い切れないのですが、そうでない開発企業よりは妥当な見積もりである可能性が高いとは言えます。少なくとも、見積もりの精度を高めるために工夫をしている開発企業だという評価はできるはずです。

無料小冊子のお申込みはこちら

株式会社システム計画研究所のオフィシャルサイトはこちら

通信・ネットワークシステム開発に関するご相談はこちら

サーバ監視・ネットワーク監視ツール isNetSentry-S のサイトはこちら

信頼できるITシステムの開発と利用を支援する技術情報提供サイト「信頼のシステム開発.COM」はこちら