「ソフトウェア見積り」の4章「見積り誤差はなぜ起きる?」の内容をまとめます。
結論は…「誤差の原因が沢山ありすぎて一言では書けない」です。
この本や関連書籍を読んで、とにかく勉強して知識を身につけましょう。
前の「3章 正確な見積りの価値」のまとめはこちら。
次の「5章 見積りに影響するもの」のまとめはこちら。
1部「見積りの考え方」
4章「見積り誤差はなぜ起きる?」
4章は「ソフトウェア見積り」の中でも内容が多めの章です。
見積り誤差の原因をこのブログで全ては紹介できないですし、「ソフトウェア見積り」の中ですら全ては紹介していません。
誤差の原因をさらに詳しく知りたい人は、「ソフトウェア見積り」とその他の関連書籍を読み漁りましょう。
では4章のまとめです。
不確実性の原因
プロジェクトの最初のほうは、そもそも決まっていない事が多いです。
にもかかわらず、見積もりはプロジェクトが始まる前に行われる事も多い。
決まっていないものを正確に見積るという事が、まずかなり非現実的という事ですね。
こう書くと当たり前のように思えますが、ソフトウェアプロジェクトでは日常的にこうした見積りが行われます。
まずは要件定義を固め、ユーザーインターフェースを決めたぐらいの段階で最初の見積りをしたいところです。
効率的な組織では、実際にそのように見積りを行っているとの事です。
プロジェクトの典型的なミス
典型的なミスとは、多くのプロジェクトで繰り返し見られるミスです。
ミスによって生まれる混乱が、見積りを不正確にします。
既に多くのプロジェクトで同じミスが発生しているなら、同じミスをする必要は無いはず。
失敗から学び、しなくて良いミスは避けていきましょう。
典型的なミスの一部は以下のようなものです。
- 準備期間での時間の浪費
- ユーザーの関与不足
- 下手な設計
- メンバーの動機付けの失敗
- 経験不足のメンバー
- 不完全な計画
- 騒がしい職場
- 社内政治
- プレッシャーによる計画の放棄
- 開発者の独断による機能の忍び込み
- プロジェクトの途中でツールを変える
より詳しいリストは、「ソフトウェア見積り」の著者スティーブ・マコネルさんの別の本「ラピッドデベロップメント」を参照すると良いです。
ちょっと値段が高いですが、エンジニアとして生きていくうえで強力な武器になる知識が満載です。絶対的におすすめ。
不安定な要求
要求が固まらなければ、いくら見積りをしても正確にはなりません。
要求が固まらないような問題のあるプロジェクトでは、要求の変更が多くなります。
変更は管理されず、いくら計画を進めても見積りは不正確なままです。
この場合は改善するポイントは見積りではなく、開発手法そのものかもしれません。
必要な作業を見積りに入れ忘れる
ある項目について正確な見積りをしたとして、見積りに入れ忘れている項目があればそこから全体の誤差が生まれます。
見落としには以下の項目に分類されると言われています。
- 要求の見落とし…セットアップ作業、ヘルプ機能、ユーティリティ、非機能要求など
- 開発アクティビティ…マネジメント、保守、ビルド、テスト、データ作成、デモなど
- それ以外…病気、トレーニング、全社ミーティング、パソコンの故障など
「ソフトウェア見積り」の本の中には上記のような見落とされがちな項目のリストがあります。
チェックリストとして活用すべきですね。
楽観主義
2章の「見積り能力のチェック」にあるように、人はみな楽観的で、自分の予測が正しいと思い込みがちです。
見積りは基本的には楽観的で短すぎるものだと考え、そこからさらに削るような事だけはしないようにしましょう。
複雑な見積り手法
見積りを正確にするために調整する箇所を増やすと、正確になるどころかその逆の結果になるとのこと。
理由は各調整ポイントで作業者の主観が入りこんでしまい、誤差が増大してしまう為。
予測の第一人者J.Scott Armstrongによれば「簡単な手法は、複雑な手法と同じくらい正確だ」との事。
「複雑な手法=正確」というのはただの思い込みにすぎないんだとか。
調整ポイントが多い見積り手法を使っている場合は、他の手法を学ぶ事も考えてみましょう。
即興の見積り
上司に口頭で「これどのぐらいでできる?」と聞かれ、
あなたは反射的に「そんなに難しくないと思います。一週間ぐらいで出来ますよ」と答えたとします。
そのあと席に戻って10分ほど確認したら思ったより難しそうで、実際には一ヶ月ぐらいかかりそうだと分かる。
その後上司は会議で捕まらず、しばらく時間が経って、即興の見積もりが間違っていた事がどんどん言いにくくなる…
こんな事にならないために、即興での見積りはやめましょう。
分からない時は、分からないと言えばOK。
即興の見積りに比べれば、10分調べただけでもはるかに正確な見積りになります。
その他の要因
見積りが不正確になる要因はまだまだあります。
- 未経験の分野
- 使える時間を見誤る(1日8時間使えると仮定してしまう)
- 新しいツールの使用への過度な期待
- …他
などなど。それぞれに対処するための見積り手法が、また後の章でも詳しく触れられます。
その他の情報源
「ソフトウェア見積り」の4章では以下の本が紹介されています。
4章「見積り誤差はなぜ起きる?」のまとめはここまで。
前の「3章 正確な見積りの価値」のまとめはこちら。
次の「5章 見積りに影響するもの」のまとめはこちら。
見積りが上手くなりたい方は読んでみてください。
ちなみにこの本を書いたのはスティーブ・マコネルという人ですが、この人の書いた「コードコンプリート」もかなり好きな本で、おすすめです。
ページ数は多いですが、分かりやすく書かれていて面白い本です。
コメント/ピンバック
[…] 一つ前の「4章 正確な見積りの価値」のまとめはこちら。 […]
[…] 前の「4章 正確な見積りの価値」のまとめはこちら。 […]
[…] 次の「4章 見積り誤差はなぜ起きる?」のまとめはこちら。 […]