ストーリーポイントと見積もり

見積もりが上手であれば、プロダクト所有者は効率と効果を最適化できます。だからとても重要なのです。

Dan Radigan Dan Radigan
トピック一覧

見積もりは困難です。ソフトウェア開発者にとって見積もりは、様々な業務の中で最も困難でないとしても、困難であることに変わりはありません。チームやビジネス全体に影響を及ぼすプロダクト所有者の意思決定に役立つ多数の要因を考慮する必要があります。そのすべてがかかっているため、開発者から管理上層部に至るまで、誰もが些細なことでむきになる傾向があっても不思議ではありません。しかしそれは間違いです。アジャイル見積もりは見積もりに過ぎません。血の誓いではありません。

作業工程を過小評価してしまったことを埋め合わせるために週末に仕事をする必要はありません。そのためにも、アジャイル見積もりを可能な限り正確に行う方法をいくつか検討してみましょう。

プロダクトオーナーとのコラボレーション

アジャイル開発では、プロダクト所有者バックログの優先順位付けを任されています。バックログとは、製品に必要なすべての機能と修正に関する短い説明を含んでいる順序付きの作業リストです。プロダクト所有者は業務部門から要件を収集しますが、必ずしも実装の詳細を理解しているわけではありません。したがって、優れた見積もりは、各作業項目に傾注する労力のレベルについてプロダクト所有者に新たな洞察を与えることができます。この洞察が各項目の相対的優先度に関する判断に反映されます。

通常、エンジニアリングチームが見積もりを開始すると、要件とユーザーストーリーに関する問題が生じます。これは良いことです。こうした問題は、チーム全体が作業をより完全に理解するのに役立つからです。特に、プロダクト所有者の場合、ストーリーポイントによる作業項目の細分化と見積もりによって、作業のすべての領域 (潜在的に隠れているものも含めて) の優先順位を付けることができます。開発チームの見積もりが出てしまえば、プロダクト所有者にとってバックログでの項目の並べ替えは珍しいことはではありません。

アジャイル見積もりはチームスポーツ

あらゆる人 (開発者、デザイナー、テスター、デプロイメント担当者など) をチームに参加させることが鍵となります。各チームメンバーは、製品に対する様々な観点とユーザーストーリーを実現するために必要な作業を挙げます。たとえば、製品管理チームが新しい Web ブラウザーのサポートのような、単純に見える何かを行いたいと提案した場合、開発および QA チームは、表面に見えるものの陰に怪物が潜んでいる場合があることを経験上知っているため、その議論に加わる必要があります。

同様に、設計変更には、デザインチームの意見だけでなく、開発および QA チームの意見も取り入れる必要があります。広範な製品チームの一部を見積もりプロセスから外してしまうと、低品質の見積もりが作成されることになり、重要な貢献者に当事者意識が生まれないため士気が下がり、ソフトウェアの品質に関して妥協を余儀なくされます。

チームと無関係に作成される見積もりによってチームに犠牲を強いてはいけません。そのような見積もりは失敗への近道となってしまいます。

ストーリーポイント VS 時間

従来のソフトウェアチームは、日数、週数、月数という時間数で見積もりを提供します。しかし、多くのアジャイルチームはストーリーポイントへ移行しています。ストーリーポイントは、 0, 0.5, 1, 2, 3, 5, 8, 13, 20, 40, 100 のように、フィボナッチ数列に似た形式で作業の相対的労力を評価します。直感的にわかるものではないように聞こえるかもしれませんが、この抽象化は、作業の難しさに関してチームに厳しい決断を下すよう促すので、実際に役立ちます。以下に、ストリーポイントを使用する理由をいくつか示します。

  • 日付は、日常で必然的に生じるプロジェクト関連外作業を考慮に入れていません。このような作業には、E メール、ミーティング、面接などがあり、チームメンバーが関わっている場合があります。
  • 日付で見積もると日付に執着してしまいます。相対的見積もりは、この執着を取り除きます。
  • 各チームは作業を微妙に異なった規模で見積もります。つまり、 (ポイントで測定される) ベロシティが必然的に異なってきます。このため、速度を武器として使用して策を弄することは不可能になります。
  • 各ストーリーポイント値の相対的労力について合意したら、ポイントを少ない議論ですばやく割り当てることができます。
  • ストーリーポイントでは、問題解決の所要時間ではなく、難易度に基づいてチームメンバーを評価します。これにより、チームメンバーは時間をかけることではなく価値を生み出すことに集中できます。

ストーリーポイントとプランニングポーカー

ストーリーポイントから開始するチームは、プランニングポーカーという方法を使用します。アトラシアンでは、プランニングポーカーは全社的によく行われています。チームはバックログから項目を取り上げて簡単に話し合い、メンバーは各自で見積もりを考えます。次に、メンバーは一斉に数字が書かれたカードを上げて、各自の見積もりを示します。全員が一致していれば申し分ありません。一致しない場合、しばらくの間 (といっても、長すぎないよう数分に抑えます)、様々な見積もりの根拠について話し合います。ただし、見積もりは概要を計画するアクティビティであることを忘れないでください。チームが枝葉末節にとらわれすぎていたら、深呼吸をして、ざっくりとした議論に戻します。

試してみる準備はできましたか?

見積もりがスマートになるほど楽になる

各タスクの作業は 16 時間を超えないようにしてください (ストーリーポイントを使用している場合、たとえば、上限を 20 ポイントとします)。これより規模が大きいと、高い信頼度で個々の作業項目を見積もることが非常に困難になるだけです。その信頼性がバックログの最優先項目では特に重要です。チームの 16 時間 (または 20 ポイント) のしきい値を超える見積もりがある場合、それをさらに細分化して見積もりをやり直す必要があることを示しています。

バックログ内のより深いレベルにある項目については、大まかな見積もりをします。そのような項目は、作業を実際に開始する頃には要件が変化している場合があり、アプリケーションは確実に変わってしまいます。したがって、事前見積もりでは正確さを求めすぎないようにします。変わる可能性のある作業の見積もりで時間を無駄にしてはいけません。プロダクト所有者が製品ロードマップの優先順位付けを適切に行うために使用できる程度の概算見積もりを出してください。

過去の見積もりから学ぶ

ふりかえりはチームが過去のイテレーションから多くの情報を得る時間です。これには、チームの見積もりの精度も含まれます。多くのアジャイルツール (Jira Software など) は、ストーリーポイントを追跡します。このため、見積もりの熟考と再調整が非常に容易になります。たとえば、チームがストーリーポイント値 8 で実現した、直近の 5 つのユーザーストーリーを取り上げます。それぞれの作業項目の労力は同じようなレベルだったかどうかを話し合います。もし違っていた場合は、その理由について話し合います。そこで得た洞察を今後の見積もりの議論に活用します。

アジャイルにおけるあらゆる事柄と同様に、見積もりは実践です。回数を重ねるごとに上達します。

次の記事
Metrics