Googleプロジェクト管理：バックログリファインメントと見積もり

# はじめに

わたしが [Google プロジェクト管理:プロフェッショナル認定証で得られた素晴らしい体験][google]を、要点をまとめ小さく分割して、わかりやすく簡潔に紹介していきます。

興味があれば、ぜひ ***"Google プロジェクト管理:プロフェッショナル認定証"*** を受講してみてください。

[google]: https://qiita.com/masami-atwvn/items/317ae776a2268fd54c8f

https://jp.coursera.org/professional-certificates/google-project-management



<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/1c9e3622-d11d-e6dd-1bb7-f12b3fef8845.png" width="800">

# バックログリファインメント

バックログリファインメントとは、スクラムチームが効果的に活動できるように、バックログの記述、見積もり、優先順位を維持する行為を指します。

プロダクトオーナーがバックログ項目に説明と価値の記述を追加した後、バックログリファインメントを行う。これは、プロダクトオーナーとスクラムチームの一部または全員がバックログを見直し、以下を確認します。

- ***<font color="MediumVioletRed">適切な項目が含まれているか、新しいものはないか、削除するものはないか？</font>***
- ***<font color="MediumVioletRed">項目はプロダクトオーナーによって優先順位が付けられているか？</font>***
- ***<font color="MediumVioletRed">バックログの上位の項目は、受け入れ基準が明確でREADYな状態ができているか？</font>***
- ***<font color="MediumVioletRed">開発チームが見積もりするために、特定のバックログ項目の作業量に関する情報があるか？</font>***

バックログのリファインメントを定期的に行うべきですが、いつ、どれくらいの頻度でバックログの改良を行うかはチーム次第です。

例えば、

- バックログを洗練させるためだけに特別なミーティングを設けるチームもあります。
- スプリントプランニング・イベントの一部としてバックログリファインメントを行うチームもあります。


# 見積もり

見積もりはバックログを洗練させる上で非常に重要なので、ここで説明します。バックログ項目に見積もりを追加するのは、各項目やユーザーストーリーを完成させるためにどれだけの労力が必要かを計画立案に反映させるためです。

あるタスクを完了するために必要な時間を見積もるのは、難しい場合があります。多くの場合、私たち人間は、完成までの時間を過小評価しがちです。大きなプロジェクトになると、この影響は何倍にもなり、プロジェクトが遅れたり、予算オーバーになったりする根本的な原因になりかねません。

そこでスクラムでは、この問題を克服するために、絶対見積もりではなく、***<font color="MediumBlue">相対見積もり</font>*** を実践しています。

絶対見積もりとは、

- 従来のプロジェクトマネジメントでは時間や工数の見積もりとも呼ばれます。
- あるタスクにどれくらい時間がかかるかを正確に判断するのではなく、そのタスクの工数と他のタスクの工数を比較し、それを見積もりにすることです。 この見積もりは、従来の時間、日、週といった単位ではなく、それぞれのバックログアイテムに相対的な単位や大きさの価値を割り当てます。

ユーザーストーリーを見積もる際に、私が最も便利だと思う一般的な相対見積もり方法が2つあります。Tシャツサイズとストーリーポイントです。まずは簡単なほうから。

## Tシャツのサイズ

1. チームはバックログから中くらいの作業量になりそうなアイテムを1つ選び、見積もり欄に「中」と記入します。
1. その後、バックログ上の別の項目を取り上げ、先ほど特定した中程度の項目と比較し、「最初の項目が中程度だとしたら、この項目にはどの程度のサイズを与えるか」という質問に答えます。
1. チームは、バックログにある追加のアイテムやユーザーストーリーについて、すべて対応し終わるまでこのプロセスを繰り返します。


<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/c1ad19e6-22c2-7aba-f6f3-628d6329e770.png" width="400">

## ストーリーポイント

ストーリーポイントは、Tシャツのサイズよりも少し高度ですが、コンセプトは似ています。

1最初のステップは同じで、チームは　***<font color="MediumBlue">アンカーアイテム</font>***　としてアイテムを選び、そのアイテムを基準に見積もりを行います。このプロセスでは、Tシャツのサイズを使用する代わりに、ストーリーポイントと呼ばれるものを使用します。

:::note info
チームによっては、アンカー項目を2つ選び、1つは範囲の上部に、もう1つは範囲の下部にします。
:::

多くのチームは、***<font color="MediumBlue">フィボナッチ数列</font>***　と呼ばれる有名な数学的数列を使用します。この数列は、 ***<font color="MediumBlue">「0、1、2、3、5、8、13、21」</font>***　と無限大に続く。この数列は、最初は互いに近接しているが、数字が大きくなるにつれて、どんどん広がっていくという点で特別である。見積もりが高くなると、不確実性やリスクも高くなるため、これは有用です。

この数字は、労力とリスクの両方を1つの数字にまとめたものです。つまり、21点と25点の間で見積もり値を議論してもあまり意味はありませんが、21点と34点の間で選ぶことは、実際に会話することになります。

Googleで教えているクラスでは、このような例を使っています。異なる種類の果物を完全に消費するための努力を測定したいとしましょう。目の前には、オレンジ、イチゴ、バナナ、マンゴー、パイナップル、チェリーがあります。その試算には、どのような要素が含まれるのでしょうか。
- 種はあるのか？
- ナプキンで食べなければならないのか？
- 一口で食べられますか？皮をむく必要があるのか？
- 調理に必要な道具はあるのか？

では、試しにマンゴーを5点のスタートフルーツとして選んだら、残りはどう見積もりますか？　私ならこう評価します。

| フルーツ | ポイント | 解説 |
| :--- | :--- | :--- |
| マンゴー | 5 | スタート |
| オレンジ | ３| マンゴーを切るより皮の方が簡単|
| イチゴ | 1 | 茎を食べることに抵抗がないから、労力は少ない |
| バナナ | 3 |オレンジと同じように皮をむく必要があ  |
| パイナップル | 13 | 巨大なので一度では食べられない |
| さくらんぼ | 2| 茎、種、わかるよね? |

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/ea80cf84-bc75-b112-257d-2e12a4d4ebc4.png" width="600">

## プラニングポーカーによるストーリーポイント付与

この方法はよく知られており、スクラムチームが少ないアイテム数（10個以下）の工数見積もりをしなければならないときによく使われます。プランニングポーカーはコンセンサスベースであり、全員が選んだ数字に同意する必要があるこの手法では、各人がフィボナッチ数列の数字(0、1、2、3、5、8、13)が書かれたカードの山を持っています。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/cc135623-0476-40ce-2f49-22602cc7126e.png" width="500">

***連続する3つの数の範囲に収まっている場合：***
全員の数字が連続する3つの数の範囲に収まっていれば、合計して平均値を出し、次のタスクに移る。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/cd355ff2-129e-7c53-2d6c-a29b09065e00.png" width="600">

***連続する3つの数の範囲に収まっていない場合：***

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/b108df1d-1bf8-d2b3-a555-5d42dfadf9e1.png" width="600">

1. 最大値と最小値を出したメンバーは選んだ根拠を説明する。行うのは ***<font color="MediumBlue">議論ではなく</font>*** 、選んだ根拠の説明です。
1. その後、再度（最大あと2回まで）全員でカードを選びなおす。
1. 全員のカードが連続する3つの数の範囲に収まったら、合計して平均を出す。
1. 合計3度選んだ後、3つの数の範囲に収まらない場合は、最大値と最小値を除外して平均を取る。すり合わせは不要。コンセンサスを目指しているわけではない。
#### プランニングポーカー戦略

プランニングポーカー戦略はスプリントプランニングミーティングで使われます。
- 各プロダクトバックログ項目やユーザーストーリーが議論されるとき、各チームメンバーはテーブルにカードを裏向きで並べます。
- そして、全員が同時にカードを裏返し、チームは、特に互いに離れている場合は、見積もりについて議論する。
- 最初に見積もりを隠すことで、数字を声に出したときに現れるバイアスを回避することができるのです。数字を声に出して聞くと、その見積もりや見積もり者自身に反応し、最初に考えていたことが変わってしまうことがあります。プランニング・ポーカーでは、そのようなバイアスを簡単に回避することができるのです。

#### ツール

https://dev.d3dmd2ilye12sa.amplifyapp.com/

# 効果的な見積もりの特徴

どの手法を選択するかにかかわらず，効果的な見積もりにつながる，各手法に共通するいくつかの重要な特性があります。

- **見積もりの誤った精度を集めることを避ける。** スクラムでは、大まかな見積もりを割り当てることで、プロジェクト全体の精度を高めることができます。したがって、あるタスクに7日かかるか10日かかるかについて長々と議論するのではなく、相対的な見積もりを特定することに集中すれば、チームは時間を節約し、期限を逃す可能性を回避することができます。
- **アンカリング・バイアスを回避する。** プランニングポーカーなどの多くの手法は、最初の見積もりを非公開にします。これにより、アンカリングバイアスと呼ばれる、恥をかかないために他のメンバーと同じような見積もりを出さざるを得なくなる現象を防ぐことができるのです。
- **包括性を促進する。** これらのグループ見積もり技術は、より良い見積もりにつながるだけでなく、チームの信頼と団結力を高めるのにも役立ちます。
- **努力の発見を導く。** このようなダイナミックな方法で見積もりを行うことで、チームは、他の方法では明らかにされなかったかもしれない項目を完了させるための戦略を発見することができます。


:::note info
見積もりには、他にも重要な意味があります。見積もり作業がチームにとって、何かを成し遂げるための素晴らしいアイデアを発見し、プロジェクトの最も危険な部分を表面化させることなのです
:::