📊

良い見積もりは格好良い

に公開

TL;DR

  • 見積もりは「いつ終わる?」ではなく「何パーセントで終わる?」という考え方をしよう
    • 見積もり(確率分布)、コミットメント(60%ライン)、ターゲット(80-90%ライン)は別物
  • 余裕のある見積もりこそが、本当の意味で「格好いい」

参考記事について

本記事は、@hirokidaichiさんの「「いつ終わる?」から「何パーセントで終わる?」でコミュニケーションするアジャイルプロジェクトマネジメント」から多くの示唆を得ています。

この記事では、不確実性の高いソフトウェアプロジェクトにおいて、単純な「いつ終わる?」という質問ではなく、確率分布を用いた「何パーセントの確率でいつ終わる?」というアプローチの重要性が説かれています。特に以下の点が印象的です:

  • 見積もりを確率分布として捉えることの重要性
  • 見積もり、コミットメント、ターゲットの明確な区別を行うことによる、エンジニアとビジネスサイド認識ずれの解消

この記事で伝えたいこと

見積もりの重要性は言うまでもありませんが、正しくできている人は少ないと考えています。
私自身、コミットメントベースでのやり取りをしてしまい、結果として遅延の意思決定をしたり、相談が遅れたりなどの苦い経験があります。

見積もりの重要性や方法論ではなく、見積もり自体の見え方に注力して、「良い見積もりは格好良い」また逆の言い方をすれば「悪い見積もりは格好悪い」と題し、自らの学びを言語化しました。

ソフトウェア開発において、見積もりは永遠の課題です。特に、以下の3つの概念が混同されがちです:

  • 見積もり(確率分布)
  • コミットメント(チームの努力目標)
  • ターゲット(ビジネス要件としての期限)

これらを一緒くたにしてしまうと、プロジェクトは必ず躓きます。本記事では、これらの違いを理解し、「格好いい見積もり」とは何かを考えていきます。

「いつ終わる?」から「何パーセントで終わる?」でコミュニケーションするアジャイルプロジェクトマネジメント の要約

見積もりは確率分布である

見積もりとは本質的に確率分布です。例えば「このタスクは2週間で終わる」という見積もりは、以下のような確率分布として捉えるべきです:

  • 1週間で終わる可能性: 10%
  • 2週間で終わる可能性: 60%
  • 3週間で終わる可能性: 90%
  • 4週間以上かかる可能性: 10%

コミットメントとターゲットの違い

コミットメント

コミットメントは「チームとして目指す努力目標」です。例えば「2週間で頑張ります!」というのはコミットメントであり、これは確率分布上の60%ラインに相当するかもしれません。

ターゲット

一方、ターゲットは「ビジネスとして必要な期限」です。例えば「3週間後のイベントに間に合わせる必要がある」というのはターゲットであり、これは確率分布上の80-90%ラインに設定されるべきです。

見積もり、コミットメント、ターゲットの関係性

本論: 格好いい見積もりとは

かっこ悪い見積もり:コミットメントだけを見積もりとする

  • コミットメントラインだけを見積もりとして提示
  • 達成確率が低いにも関わらず、根拠なく自信満々
  • 結果として信頼を失う

かっこいい見積もり:確率分布を理解した上でコミットメントとターゲットを設定

  • 確率分布として見積もりを捉える
  • コミットメントは60%ラインに設定
  • ターゲットは80-90%ラインに設定
  • 余裕を持った計画により信頼を獲得

まとめ

見積もりを確率分布として捉え、コミットメントとターゲットを適切に設定することは、プロフェッショナルとしての姿勢を示します。

「余裕のない見積もり」は単なる見栄や格好付けに過ぎず、真の「格好良さ」は、確率分布を理解した上で適切な余裕を持った見積もりを提示できることにあります。

これは、経験を積んだプロフェッショナルが持つ「余裕」そのものであり、それこそが本当の意味で「格好いい」のです。

参考文献

https://qiita.com/hirokidaichi/items/51bfd7fa9e7a4a096d8b

Discussion