Nitawaki Satoshiさんのプロフィール写真

見積もりに苦しんだことがある一人です。ここでは「フィボナッチ工数見積」をご紹介します。

その前に、どのような運用で苦しんだか、その時の運用方法を紹介します。

  1. 見積者がタスクの工数を日数で見積もる
  2. 実装者がその工数で実装を行う

この方法では、次のような問題を抱えていました。

  1. 日数感が見積者実装者で異なる
    工数感が人によって異なってしまうので依頼者視点からのタスク規模感が不明瞭
  2. 主観的な指標のため、タスクの大きさが比較できない

ここで見つけたのが、「フィボナッチ工数見積」です。(アジャイル開発ではプランニングポーカーとも呼ばれているようです)

これは、次のような見積もり方となっています。

  1. タスクにはポイントを付与する。
    1. ポイントはフィボナッチ数列(1,2,3,5,8,13,21・・・)で付与する。
    2. このときのポイントはチーム全員が納得した状態で決定する。
    3. チーム内の最小タスクにポイント1を付与する※重要
  2. タスクの消化を行う。
  3. タスクの振り返りを行う。
    次の項目をチーム全員で決定する。これにより、その人が「ポイント/日」消化できたかを計測できる。(ここでは戦闘力と表現します)
    1. タスクは何日で消化できたか?
    2. タスクは実際、どのくらいのポイントだったか?

ここまでで、一人あたりの戦闘力を洗い出すことができます。これを使ってまた次のタスクを見積もっていきましょう。

  1. タスクにはポイントを付与する。
    戦闘力をもとに日数を導きだす。
    1. 3ポイントのタスクならば、戦闘力が「1ポイント/日」の場合、約3日。ただし、慣れ・不慣れを考慮し、日数は単純計算ではなく、導き出す。プラス・マイナスを行う。
  2. タスクの消化を行う。
  3. タスクの振り返りを行う。
    1. ここで戦闘力の更新を行う

これを繰り返していきましょう。

すると、大体のタスクの規模感がチーム内で認識され、一人ひとりのアウトプットの差がぼんやりと現れてきます。

タスクが(チーム内で)客観的な数値として現され、「あのタスクよりこれは重い」といった相対的な比較ができるようになります。

また、タスクの決定をチーム全員が納得する形で行えるため、全員が見積者となっても大きなズレが起きにくくなる点と、「見積者と実装者で日数感が異なる」問題も解消することができます。

詳しく説明していくと、更にあるのですが、テクニックの紹介としてはここまでにしておきましょう。

誰かの一助となれば幸いです。

この質問に対する他の10件の回答を表示