システム開発における「見積もり」のトリセツ

2019/08/21

システム開発における見積もりは、一般的に信頼性が低いものです。特にプロジェクト開始時に見積もられた「このシステムを完成させるためにかかる費用はおおよそ〇〇億円と考えられます」の〇〇は、ほぼ100%に近い確率で外れます。外れた先に行き着くのは、金額の超過あるいは、機能縮小、あるいは頓挫して中断という結幕のいずれかです。


「何故そうなるのか?」の考察については、以下の記事に書きました。
システム開発は、なぜ予想よりも長くかかり高くなるのか?を考えてみる

システム開発というのは、とかく他の工学とは異なる振る舞いをします。そのプロセスの特異性が理解されず「ものづくり」分野の事業のように扱われる傾向が、問題を大きくしていることを述べました。このことはシステム開発はあらゆる方法で当初の計画から外れることが多く、費用に変更をもたらすことを意味します。

正確な見積もりは不可能である

もっと一般的に言われることとして、小さな見落としの積み重ねが大きな費用変更になるという説もあります。システム開発では、完了のための仔細で補助的な仕事がヤマほどあって、プロジェクト開始時にすべてを仕様に盛り込むことは不可能です。仕様に書かれなかった仕事は、言われなくても開発スタッフが気付くようなことがあっても、仕事の中心的なことと比べると二義的なものであるため、すべての作業量を見積もろうとするときに見落とされやすいのです。

にもかかわらず、信頼性の低い見積もりを貰って、淡い期待を抱くほうを人は得てして好ましく思うものです。その意向に沿うならば大雑把に数字を出して「この見積もりはあくまで概算です。大まかな指標が必要とのことなので暫定で出しました。もっと自信の持てる予測は、詳細が分かった時点で提出します」という方法はうまくいくかも知れません。但しそれは見積もりが単なる推測にすぎないと理解されている場合だけで、多くの場合こちらが付け足す但し書きは時間とともに忘れ去られ、信頼性が低いと説明した見積もりに基づいたコストと納期を守れなかったことに責任を問われることになります。

このことを踏まえるなら「システム開発プロジェクトの開始時に信頼できる見積もりを得るのは不可能」という事実を率直に認めて、その体で役員会に説明しておくほうが、単に概算で数字が独り歩きすることと比べて、打つ手が広がりそうです。

正確な見積もりを出すために投じられた時間は開発にも使うことができた

私たちが知っておくべき「正確な見積もりは不可能」に伴うもう一つの率直な事実があります。
それは「正確な見積もりを出すために投じる時間は本来の開発に使うことができる」ということです。

見積もりの信頼性を高めるための調査や精緻な試算には相当な時間を要します。つまり100%信頼できる見積もりをつくることは、人間が行うプロセスから見ればそのシステムを完成させること、と同じことであって、その時間を開発に使ったほうが、ずっと効率的なのです。

ただプロジェクトを検討するにあたっては、なんらかの数値的な指標が無いと、それが妥当かどうかは判断できません。そういう意味では、推測でも構わないので大まかな数値を出して「あたりをつける」のは大切です。間違っているのは「見積もり」に依存することです。

さてシステム開発は、建設業や製造業でも無いとすると、いったい何業なのでしょうか。

そのプロセスから見れば科学研究のように未知の探求に関わるようであり、設計や開発スタッフの営みから見れば、あらかじめ分かっているものをつくるのではなく、著作物を創作しているようにも見えます。つまりシステム開発の作業にどれだけかかるのか見積もりを聞くのは、そもそもナンセンスかも知れません。本来聞くべきことは「仮説」またはその時における「見通し」で、そんな曖昧なもので経営判断をせざるを得ない、システム開発を本質で捉えると、そんな道筋が見えてきます。

この記事を書いた人について

谷尾 薫
谷尾 薫
オーシャン・アンド・パートナーズ株式会社 代表取締役
協同組合シー・ソフトウェア(全省庁統一資格Aランク)代表理事

富士通、日本オラクル、フューチャーアーキテクト、独立系ベンチャーを経てオーシャン・アンド・パートナーズ株式会社を設立。2010年中小企業基盤整備機構「創業・ベンチャーフォーラム」にてチャレンジ事例100に選出。