🔢

見積もりの3スタンス

2022/01/22に公開

「見積もり」と一概に言っても、その定義は見積もりが欲しい背景や見積もる人によって様々です。その違いを認識し、プロジェクトやチームごとに定義や期待値調整をしないと見積もり自体なかなかうまくいかなかったり、プロジェクト後半で見積もりの乖離が問題になり「話が違う」と言われる事態にもなりかねません。
見積もりには「ボトムアップ見積もり」「類推見積もり」「パラメトリック見積もり」など、前任者たちが提言してる手法があったり、スクラムのようにストーリーポイントから見積もりとアウトプットを安定化していってスケジュールを徐々に精緻化することを目指すなど、多くの概念や手法が存在します。どう言った手法で見積もるのか、どうやって精緻化するのか、単位はどうするのかなど見積もりには考えることが多々あります。
しかしどの見積もり手法であっても、そもそもなぜその見積もりが欲しいのか・何に使うのかによってエンジニアたちの見積もりは変わってくるものです。これは見積もるエンジニアのスタンスが変わってくるためで、このスタンスの違いはプロジェクトやチームによって見積もりの正義が変わってくるためだと思われます。本稿では見積もりの手法ではなく、このスタンス部分について以下の3つに分けて考えることで、どの場面でどのスタンスが適切なのか筆者の考えをまとめてみたいと思います。

  • 楽観的見積もり
  • 悲観的見積もり
  • 予想的見積もり

1 楽観的見積もり

1つ目のスタンスは「最速でこのくらいで終わるだろう」という、楽観的見積もりです。人によっては「こんなのいつ使うんだ?」って思う方もいるかもしれません。これはスクラムやかんばん方式などを採用してるチームの一部で、「最速だとどのくらいで完了するのか」を見積もりにすることで、「最速で出せなかったのはなんでだっけ」というのを考えやすくするために利用したりします。
なので、このスタンスが適切なケース例としては開発プロセスの最適化を模索したいために見積もりを利用するようなチームなどが該当するかと思います。

「楽観的見積もり」のメリット・デメリット

  • 見積もりと実績の乖離を深堀りすることで、開発プロセスの最適化を模索しやすい
  • スケジュールやコスト算出に利用するとほぼ確実に遅延が発生する

「楽観的見積もり」が適切なケース例

  • プロダクトの継続的改善開発を行っているチーム
  • コストやスケジュールの調整が可能で、新規プロダクトで最速のリリースを目指すチーム

2 悲観的見積もり

2つ目は「これくらいあれば十分間に合うだろう」という、悲観的見積もりです。関係各所との調整が発生するためにできる限り遅延の発生しない余力を持ったスケジュールが欲しい場合や、堅実なコスト管理が求められるケースなどの見積もりオーバーが悪とされるケースにおいて適切となる見積もりのスタンスです。
悲観的に見積もるのは簡単そうにも思えますが、実際「溢れてはいけない」見積もりというのは非常に難しいです。多く見積もることにはなりますが、あまりに現実から乖離した見積もりを出しづらいのもエンジニアの性です。プロジェクト管理者と「遅れることのないよう、多めに見積もりますよ」という期待値調整をすることが重要になってきます。

「悲観的見積もり」のメリット・デメリット

  • 堅実なスケジュールやコストを算出しやすい
  • エンジニアもある程度自信を持って見積もりしやすい
  • バッファを積めるのでタスク分解が荒くなりがち

「悲観的見積もり」が適切なケース例

  • 堅実なスケジュールやコストが重視されるプロジェクト

3 予想的見積もり

3つ目のケースは「多分現実的にはこのくらいで終わるだろう」という、予想的見積もりです。多くの方が見積もりと聞いて想像するのはきっとこのスタンスでの見積もりではないでしょうか?
筆者が考えるにこの見積もりのスタンスは最も不安定な見積もりになりがちです。見積もりとは本来正確ではなく不安定なもので、悲観的・楽観的見積もりにおいてはこの不安定さを、誤差を許容するという形で吸収しています。一方、許容される誤差が少ないため「多分このくらいで終わるだろう」という予想は非常に難易度が高いものになってきます。
この難易度の高さからも、実はこのスタンスをとっていいケースというのは限られてくると筆者は考えています。実績値が見積もりをオーバーすることが悪とされるのであれば、見積もり時のスタンスは悲観的であるべきです。予想的見積もりが適切となるケースは、「実績が見積もりをオーバーすることが許容できること」「おおよそのスケジュールが知りたい」というケースに限られてくるのです。

「予想的見積もり」のメリット・デメリット

  • 最も現実に近いスケジュールが建てられる
  • 現実には実績が見積もりを上回ることもあるので、工数超過に対し期待値調整が必要

「予想的見積もり」が適切なケース例

  • コストやスケジュールの調整が可能で、おおよそのスケジュールが必要なプロジェクト

まとめ

「見積もり」と一概に言っても、プロジェクトごとになぜ必要かの認識合わせ・期待値調整が重要だと感じる一方、あまりこういう議論がされずに進められていることも多いように感じています。この記事に書いたことが全てではなく、もっと多くの見積もりスタンスがあるとも思います。この記事を読んで、もっと違ったスタンスで見積もりをしてる・もっとこういうのがあるんじゃないかなど考えをお持ちに方は、コメントなどで意見いただけるとありがたいです。

Discussion