ロサンゼルスで車に乗ったことがあれば、アルカディアからサンタモニカまで行くのにかかる時間は、交通量、天候、工事の有無、時間帯、予測できないその他の要因など、さまざまな影響により異なることをご存じでしょう。この約 51 kmの距離を移動するのに、41 分で済む場合もあれば、4 時間かかる場合もあります。
スクラムのプロダクトバックログの項目は、複雑さやリスクなど、同じような変数の影響を受けるため、アジャイル計画は南カリフォルニアで交通渋滞に巻き込まれるのと同じくらい複雑でイライラすることがよくあります。
不正確なプランニングは、先々の大きな問題となる可能性があります。タスクを完了するのにかかる時間を正確かつ一貫して見積もることができないと、納期の遅れ、ボトルネック、障害、スコープクリープにつながります。
でも、ご安心ください。チームがバックログにあるタスクを完了するのにかかる時間と労力を見積もるには、ストーリーポイントという優れた手法があります。
ストーリーポイントとは?
ストーリーポイントは、チームがプロダクトバックログの各項目を完成させるのにかかる労力と複雑さを考慮できるようにする見積もりの単位です。ストーリーポイントは、スプリントプランニング中に1つの要素(例えば時間など)だけで見積もるよりもはるかに包括的なため、チームはユーザーストーリーの完成にかかる時間をより正確に計算できます。
アジャイルにおけるストーリーポイントの見積もりには、4つの主要な要素が含まれます。
-
リスク:特定のプロジェクトまたは項目のリスクには、チーム間の依存関係、不明確な方向性、タスクの途中での変更が含まれます。
-
複雑さ:この要素は、項目を完成させるのがどれだけ難しいかによって決まります。
-
馴染みやすさ:この要素は、チームメンバーがタスクにどれだけ精通しているか、開発内の特定のタスクがどれだけ単調であるかによって決まります。
-
相対的な労力:この要素は、タスクに必要な労力が他の作業項目に必要な労力と比較してどの程度かによって決まります。
多くのチームが、アジャイル開発における作業量の見積もり方法について悩んでいます。上記の4つの要素を考慮することで、チームはスプリントベロシティをより正確に計算し、不確実性に対応するための余裕を持たせ、時間的な制約への過度な依存を避けることができます。ストーリーポイントにより、チーム内だけでなく、部門間でも一貫性を保てるようになります。
アジャイル開発でストーリーポイントを見積もるための3つのステップ
ストーリーポイントの見積もりは、チームがスプリント目標を定義し、チームが達成する計画を作成するスプリントプランニング中に行う必要があります。このプロセスに従ってスプリントをより正確に計画し、期待をすり合わせ、プロジェクトを時間通りに完了します。
1. ベースラインを決定する
作業項目にストーリーポイントを割り当てる前に、これらの数字が正確に何を意味するかのベースラインを作成する必要があります。ベースラインは、アジャイルチームでは多くの場合1または0.5で、リスク、複雑さ、反復の量が最も少ない作業項目の標準を設定します。ポイント数が高いほど、想定されるリスク、複雑さ、反復の量も高くなります。
チームメンバーが熟知しており、他のチームに依存せずに処理できる項目に1ストーリーポイントを割り当てることを選ぶこともできます。例:
-
1ストーリーポイント = ウェブサイトのドロップダウンメニューに新しい製品を追加する
-
3ストーリーポイント = ウェブサイトに評価システムを追加する
-
8ストーリーポイント = ウェブサイト全体にGDPRとCPAコンプライアンスを追加する
作業項目を見積もる際のベースラインでは、時間の長さだけでなく、複雑さや労力などの他の要因も考慮します。
2. フィボナッチ数列の数を使用する
作業項目に線形スケールで数値を割り当てたくなる気持ちは分かりますが、それらの数値では明確な見積もりを定義するのに十分な区別がありません。例えば、ある項目に4ストーリーポイントを割り当てた場合、複雑さ、リスク、反復性の観点から、4ストーリーポイントと5ストーリーポイントはどのように異なるのでしょうか。
フィボナッチスケールの指数を使うことで、タスク間の違いをより簡単に定義できます。フィボナッチ数列は、各数が前の2つの和である0、1、1、2、3、5、8などの数字の列です。アジャイルチームの場合、シーケンスは通常0.5、1、2、3、5、8などに修正されます。これらの数値を使えば、作業項目が2ストーリーポイントか5ストーリーポイントかを判断しやすくなります。
作業項目に割り当てたストーリーポイントの数を管理するには、フィボナッチスケールテンプレートが使えます。項目にスケールの数字を割り当てて作業量を見積もり、各スプリントごとにテンプレートのコピーを作って過去の記録を作成し、時間をかけて見積もりを改善します。