見積もりが高くなるのはなぜ?
見積もりの話題は、開発に関わるすべての人にとって避けられないテーマです。
特に、「思ったより高い!」と言われると、エンジニアもプロジェクトマネージャー(PM)もどう対応するか頭を悩ませることが多いですよね。
この記事では、見積もりが高くなる理由と、それが避けられない背景について書きました。
1. 高くなる理由って、何?
まず、見積もりが高くなる具体的な理由をいくつか挙げます。
未知の仕様や追加要求への対応
要件がふわふわしているプロジェクトでは、リスクや不確定な仕様に対処するため、バッファを設ける必要があります。
見積もりの際に、要件が全て決まっていない場合、追加仕様に対応するための予備工数が必要です。
このため、見積もりが膨らむことは避けられません。
技術的なリスクや難易度の高さ
新しい技術や未経験の領域での開発は、技術的なリスクが伴います。
技術的リスクが高い場合、チームのスキルセットと照らし合わせ、リスクをカバーする時間と予算が必要になるのです。
また、クライアントが簡単に出来ると思っていても、技術難易度が高いものがあったりもします。
アクセス数の考慮
フロントエンドだけの案件であれば、CDN等でさばけるので良いのですが、バックエンドが絡むようなシステムであれば
サーバはピークを考慮すると何台ぐらいいるのか?
スペックは?
データベースへの負荷は?
などなど、アクセス数が分からないとリスクを考慮する必要があるため、高スペックなもので見積もりをすることになります。
依存関係の多さ
他のシステムとの連携やサードパーティAPIの利用が多いプロジェクトは、動作確認や統合テストにかかる時間も長くなりがちです。
こうした依存関係も見積もりが高くなる要因の一つです。
2. 高くなる説明が難しい!
見積もりが高くなる理由を、技術的背景がない方に理解してもらうことは難しいです。特に、以下の点で説明が難しくなるケースが多いです。
見えないコストを伝えにくい
エンジニアリングの世界では、品質や保守性、テストカバレッジといった「見えない価値」に費やすコストが多いです。
短期的には目に見えないため、なぜコストがかかるのかを伝えるのが難しいことがあります。
不確定要素が多い
不確定要素が多いプロジェクトでは、見積もりがざっくりとしたものにならざるを得ません。
こうした背景を伝えようとしても、「本当にそんなリスクがあるのか?」と疑われるケースもあります。
過去の実績や経験に基づく見積もり
見積もりが高くなる理由として、過去の経験に基づくことも少なくありません。
過去の類似プロジェクトでトラブルや追加対応があった場合、それを反映するために余分な工数を見積もることが多いです。
ただし、これは経験則であり、理解してもらうのが難しい部分もあります。
3. 見積もりが高くても納得してもらうためには
高い見積もりについて理解を得るには、単に数字を伝えるだけでなく、その背景や価値を伝える必要があります。
技術的負債を避けることの重要性
低コストで無理に開発を進めると、技術的負債が蓄積します。これが将来的に高額な修正コストを生むことを、具体例を交えて伝えると、価値を感じてもらいやすいです。
リスクとコストの関係を図で説明
視覚的な資料を使って、リスクがどうコストに影響するかを説明すると、理解が進みやすいです。たとえば、リスクが増えるほどコストも増加する関係を図にすると、相手が見積もりの意図を把握しやすくなります。
工数削減の方法を具体的に示す
「もしコストを削減するなら、どの部分の機能を削る必要があるか」を具体的に示すことで、見積もりが高くなる理由を相手に納得してもらうことができます。
最後に
見積もりはプロジェクトの成否を左右する重要なステップです。
妥協したりしないようにしましょう。