見積もりについて議論するときに,最初に困る問題は「見積もりのタイミング」を表す言葉が決まっていないことです。
言うまでもなく見積もりの精度や見積もり方法は,その時点で得られる情報量によって変わってきます。
例えば建設業界などでは,「超概算見積もり」→「予算見積もり」→「確定見積もり」といった言葉が使われています。これらの言葉は見積もりの精度(±○%)と一体になって使われているようです(最近は5段階)。
「超概算」や「予算」「確定」――。ソフトウエア開発の見積もりにも同じ言葉が使えればよいのですが,予算化の時期や施工期間の長さが異なるのでなかなかそうはいきません。ソフトウエア開発の場合,コーディングと言っても様々な技術的な問題を解決する必要がありますから,まぎれもなく設計作業です。つまりソフトウエア開発プロジェクトは,ずっと設計をやっているようなもの。従って,確定見積もりという言葉はなじみません。
では,どのような言葉が適切なのでしょう? 私は「試算見積もり」→「概算見積もり」→「詳細見積もり」という言葉を使っています。
試算見積もりは,システム構想や期の予算を立てる段階を想定しています。この段階の見積もりは精度が低いため,独り歩きされては困ります。そういう思いを込めて「試算」という言葉を使っています。
これに対して,概算見積もりはシステム構想を立てた段階での見積もりです。要件定義にはまだ入る前です。通常,この段階でユーザー側がRFP(提案依頼書)を作成し,ベンダー側がそれを受け取ります。ベンダーにとっては直接,注文に結びつく大事な見積もりと言えます。
詳細見積もりは,要件定義または基本設計が終わって,ソフトウエアの構造がはっきりした段階の見積もりです。分割契約する場合の下流工程の見積もりや,概算見積もりとの差異を整理するために使います。
もちろん,見積もりをするタイミングは連続してあると思います。が,このように,ある典型的なところで呼び方を決めて,見積もり方法を確立していくことが大事だと思います。