ブレスト&決定力向上塾

【実践ワーク】チームでタスクの見積もり精度を高めるワークショップ

Tags: 見積もり, タスク管理, アジャイル開発, チームワークショップ, プランニングポーカー

はじめに

ソフトウェア開発チームにおいて、タスクやユーザーストーリーの見積もりは、プロジェクト計画の策定、リソース配分の決定、ステークホルダーとのコミュニケーションにおいて不可欠なプロセスです。しかし、見積もりの精度が低いと、計画の遅延や手戻りが発生し、チームの信頼性やモチベーションに悪影響を与える可能性があります。

見積もりを特定の個人に依存させるのではなく、チーム全体で協力して行うことで、多様な視点を取り入れ、より現実的で信頼性の高い見積もりを得ることが期待できます。本記事では、チームで見積もり精度を高めるための実践的なワークショップ、特にアジャイル開発チームで広く活用されるプランニングポーカーを中心に、その手順、効果的に実施するためのポイント、そして期待できる効果について解説します。

チームで見積もりを行う意義

なぜタスクの見積もりをチームで行う必要があるのでしょうか。主な意義は以下の通りです。

プランニングポーカーワークショップの手順

プランニングポーカーは、チームで見積もりを行うための代表的な手法の一つです。特にアジャイル開発におけるユーザーストーリーの見積もり(多くの場合、ストーリーポイントを使用)に用いられます。ここでは、その基本的な手順を解説します。

目的: チーム全体で、検討中のタスクやユーザーストーリーに対する共通理解を深め、合意された見積もり(例: ストーリーポイント)を決定する。

参加者: プロダクトオーナー(またはそれに代わる要件の解説者)、開発チームメンバー、ファシリテーター。

準備するもの: * 見積もり対象となるタスク/ユーザーストーリーリスト * プランニングポーカーカード(フィボナッチ数列などに近い数値が書かれたカードセット。例: 0, 1, 2, 3, 5, 8, 13, 20, 40, 100, ∞, ?) * タイマー * ホワイトボードまたはオンラインホワイトボードツール * (必要に応じて)基準となるタスクの見積もり(例: この「ログイン機能実装」は「3」のストーリーポイントとする)

手順:

  1. 基準の設定(初回または必要に応じて):

    • チームで「これは〇ポイントのタスクだ」という共通認識を持つための基準となるタスクを1つ以上決定します。このタスクの複雑さや工数を基準として、今後見積もるタスクを相対的に評価します。
  2. タスク/ユーザーストーリーの選択:

    • プロダクトオーナーが、今回見積もりを行うタスクまたはユーザーストーリーを一つ選び、チームに提示します。
  3. タスク/ユーザーストーリーの説明:

    • プロダクトオーナーが、そのタスク/ユーザーストーリーの目的、内容、受け入れ条件(完了の定義)などをチームに詳細に説明します。
  4. 質疑応答:

    • チームメンバーは、説明を聞いて疑問に思った点や不明確な点についてプロダクトオーナーに質問します。この段階で、全員がタスクの内容を十分に理解することが重要です。
  5. 各自で見積もり:

    • 質疑応答が終わり、タスクについて十分理解できたと判断したら、チームメンバーは各自、自分のプランニングポーカーカードの中から、そのタスクに適切だと思う見積もり値が書かれたカードを選びます。この時、他のメンバーと相談せず、独立して考えます。
  6. 一斉公開:

    • ファシリテーターの合図(例: 「せーの!」)で、チームメンバー全員が選んだカードを同時に公開します。全員の見積もり値が同時に可視化されることで、お互いの判断に影響されず、率直な意見が出やすくなります。
  7. 議論(意見が一致しない場合):

    • 公開された見積もり値に大きなばらつきがあった場合、議論を行います。通常、最も高い値を出したメンバーと最も低い値を出したメンバーが、それぞれそのように見積もった理由を説明します。
    • 議論を通じて、タスクに関する新たな視点、潜在的なリスク、見落としていた考慮事項などが共有されます。ファシリテーターは議論が特定の意見に偏らないよう、全員が発言できる雰囲気を作ります。
  8. 再見積もり:

    • 議論が終わったら、チームメンバーは再度、そのタスクの見積もり値を考え、カードを選びます。
    • 合図で再びカードを公開します。
  9. 合意または再議論:

    • 再見積もりで全員の見積もり値が十分に近くなった場合(事前に決めた許容範囲内など)、その値で合意とします。
    • まだ大きなばらつきがある場合は、再度議論と再見積もりを繰り返します。
    • あまりにもばらつきが収まらない、または見積もり値が非常に大きい(例: 20や40)場合は、そのタスクが大きすぎる、または不明確すぎる可能性が高いと考えられます。その場合は、タスクをより小さな単位に分割するか、必要な情報を追加で収集するなどの対応を検討します。
  10. 次のタスクへ:

    • 合意された見積もり値を記録し、次のタスクの見積もりプロセスへ移ります。

この手順を、見積もり対象の全てのタスク/ユーザーストーリーに対して繰り返します。

効果を出すためのポイント

プランニングポーカーワークショップの効果を最大化するためには、いくつかのポイントがあります。

他の見積もり手法

プランニングポーカー以外にも、チームで見積もりを行う手法はいくつか存在します。

これらの手法も、チームで見積もりを行うという点では共通しており、目的や状況に応じて使い分けることができます。

ワークショップ導入のシナリオ例

とあるソフトウェア開発チームでは、スプリントプランニング時のタスク見積もりに時間がかかり、しばしば見積もりと実際の作業量に大きなずれが生じていました。これにより、スプリント内で計画した作業が完了しないことが常態化し、チームの士気が低下していました。

この状況を改善するため、チームリーダーは本記事で解説したプランニングポーカーワークショップを導入することを決定しました。

  1. 事前準備: プロダクトオーナーと協力し、次スプリントで着手予定のユーザーストーリーリストを作成しました。プランニングポーカーカードを用意し、チームの過去の経験から「ログイン機能実装」を「3ストーリーポイント」の基準タスクとすることをチームで合意しました。
  2. ワークショップ実施: スプリントプランニングの時間を使い、ファシリテーター役のチームリーダーの進行でプランニングポーカーを実施しました。最初のうちは見積もり値にばらつきがありましたが、各自が理由を説明し、議論を深めることで、タスクの不明点や潜在的な依存関係が明らかになりました。特に、あるバックエンドの改修タスクについて、当初多くのメンバーが小さく見積もっていましたが、経験豊富なメンバーがデータベースへの影響範囲を指摘し、議論の結果、より大きな見積もり値で合意することができました。
  3. 結果と改善: ワークショップを継続的に実施することで、チームメンバー間のタスクに対する共通理解が深まり、見積もり精度が徐々に向上しました。スプリント内で計画した作業の達成率が改善し、チームの予測可能性と信頼性が向上しました。また、議論を通じて技術的な懸念点が早期に発見されるようになり、設計段階での考慮漏れが減少しました。

このシナリオのように、チームでの見積もりワークショップは、単に見積もり値を出すだけでなく、チームのコミュニケーション改善、リスクマネジメント、共通理解の醸成にも大きく貢献します。

まとめ

チームでタスクの見積もり精度を高めることは、計画の信頼性を向上させ、チームのパフォーマンスを安定させるために非常に重要です。本記事で解説したプランニングポーカーのようなワークショップは、チームの多様な知見を結集し、タスクに対する共通理解を深めるための効果的な手法です。

ワークショップを成功させるためには、ファシリテーターの適切な進行、全員参加の徹底、根拠に基づいた議論の促進、そして何よりもチームの心理的安全性の確保が鍵となります。

ぜひ、本記事を参考に、皆様のチームでも見積もり精度向上に向けた実践的なワークショップを取り入れてみてください。継続的に実施し、チームで見積もりプロセスそのものも振り返りながら改善していくことで、より成熟したチーム運営に繋がるはずです。