アジャイル開発におけるユーザーストーリーの見積もり方法
ユーザーストーリーの見積もりは難しい!ストーリーのサイズを最も正確に見積もるにはどうすればよいでしょうか?一部の人々は、最も適切なサイズはストーリーポイントで見積もるべきだと述べており、他の人々は時間や日数で見積もることを好むと述べています。
確かに見積もりは難しいですが、ユーザーストーリーの見積もりプロセスにおいて役立ついくつかの概念があります:
- ユーザーストーリーを2つの側面から相対的に見積もりましょう
- 作業努力
- リスク(例:複雑さや不確実性)
- ストーリーポイントを使ってユーザーストーリーを見積もりましょう
- 作業努力と複雑さ(リスク)の見積もりに関して高い確信を持っているユーザーストーリーを、アフィニティテーブルに配置しましょう
- アフィニティテーブルで既に見積もり済みのストーリーと比較することで、比較的なじみの浅い他の種類のユーザーストーリーを、作業努力と複雑さの観点から段階的に見積もりましょう。
見積もりにおけるユーザーストーリーのアフィニティ
ユーザーストーリーの見積もりは100%正確になることは決してありませんし、実際どの方法でもその達成は不可能です。見積もりの正確性を高めるため、まずスプリントの長さ(例:2週間、または10営業日)を決定し、見積もりに最も自信のある数個のユーザーストーリーに対して見積もりを行います。ユーザーストーリー(例:5日で、確信度は中程度)。この場合、ストーリーを縦方向の中央に配置します(確信度またはリスクレベル)と横方向(作業努力努力は5日、またはスプリント長さの半分(10日)に相当します)。その後、他のユーザーストーリーの見積もりの基準点として使用できます。このストーリーが参照されたものよりも作業努力が大きいか、小さいか、不確実性が大きいか、小さいかを自問しましょう。アフィニティテーブルにさらにいくつかのストーリーを配置すると、複数のストーリーを比較して、配置が論理的かどうかを確認でき、必要に応じて調整して公平な配置にします。このプロセスは、技術よりも芸術的要素が強いです。対立を避けて、チームミーティングで議論し、実施しましょう。チームが成熟するにつれて、見積もりの正確性は通常向上します。

アフィニティテーブルの計算方法は?(動画を見る)
アフィニティテーブルでストーリーポイントと日数が自動的にどのように見積もりられるかを理解するには、水平方向のグリッドが作業努力を表しており、左から右へと増加し、ストーリー開発の複雑さ(例:新技術、新分野など)が上から下へと増加することを理解する必要があります。
ユーザーストーリーの開発に必要な最大日数は、スプリントの長さを超えてはならないため、スプリント(そうでなければ、ユーザーストーリーが大きすぎて分解が必要な状態、またはスプリントが短すぎて延長が必要な状態になるため)、したがって右下のグリッドの日数もスプリントの長さと等しくなるべきです。この仮定に基づき、ストーリーの見積もりは自動的に計算できます。

注記:上記の最初の例では
ストーリーポイント = 努力 × リスク(例:3 × 4 = 12)
ストーリーポイント単位 = ポイント合計 / スプリント長(例:100 / 20) = 0.2
ストーリーデイ(時間) = ストーリーポイント / ストーリーポイント単位(例:12 × 0.2) = 2.4
プロジェクトスパイクでリスクを排除する
アジャイル辞書によると、スパイクの定義は次の通りである:
「出荷可能な製品を生産することではなく、質問に答えることや情報を収集することを目的とした作業。製品。時折、技術的な質問や設計上の問題を解決するために開発チームが実際に作業を行わなければ、正確に見積もりができないユーザーストーリーが生成されることがある。その解決策として、「スパイク」と呼ばれる作業を作成する。これは、答えや解決策を提供することを目的とした作業である。」
ユーザーストーリーを見積もりする際には、開発作業量だけでなく、関連するリスクや不確実性も考慮する。しばしば、他のユーザーストーリーを適正に見積もりできるようにするために必要な作業を管理するために、スプリントの正式開始前にスパイクを作成する。