リーダーが予測の確実性について尋ねてきても、詳細な計画に基づいていたので、私たちは自信を持っていました。 モットーは、「作業を計画し、計画に作業させろ」でした。 残念ながら、この予測とコミットメントは、製品や顧客のニーズ、または実際の作業についてほとんど知らないときに行いました。
アジャイルフレームワークへの移行
数年後、私はアジャイルの価値観、原則、テクニックに出会いました。 スクラムなどのアジャイルアプローチでは、 経験的な工程管理が使われていることを学びました。 経験的プロセス制御は、理論ではなく、観察または経験によって検証可能です。 経験主義の3つの柱は、透明性、検査、適応です。 経験主義は、結果が不明で、イノベーションが要件であり、作業が複雑な場合に最も価値があります。 これは露出モデルであり、今日のチームが提供する製品やサービスのほとんどを表しています。
次の図に示すように、定義された工程管理は、ソリューションがわかっていて、手順が明確で、問題が単純な場合(左側)に役立ちます。 経験的工程管理は、不確実性があり、イノベーションが必要で、問題が複雑な場合に役立ちます(右側)。
アジャイル製品開発チームは、作業の不確実性と複雑さを考慮して、製品またはリリース目標の達成をどのように予測できるでしょうか? 重要なのは、経験主義を有利に活用することです。
相対見積から始める
相対見積は、チームが同様の作業の大きさをすばやく見積もるために使う手法です。 その場合、1つの作業を別の作業と相対的に比較し、精度よりも正確度を重視します。 言い換えれば、違いを精密に見積もることよりも、作業を同様のサイズにグループ化することにおいて正確であることを評価します。 たとえば、ユーザー ストーリーなどの製品開発のアイデアのバックログを確認するときに、バックログ内のどのストーリーが工数、リスク、複雑さなどにおいて類似しているかを確認できます。 しかし、それではどれだけの時間(精度)で、どれだけの作業があるかを正確に言うのは難しいでしょう。
ストーリーポインティングは通常、11世紀のイタリア人数学者にちなんで名付けられたフィボナッチスケール(1、2、3、5、8、13など)を使用します。 ストーリー ポイント は、プロダクトバックログアイテム、またはその他の作業を完全に実行するために必要な、全体的な作業 (逆説的ですが、時間ではない)の見積もりを表すための測定単位です。 ストーリーポイントという用語を使用するのは、チームが プランニングポーカーまたはアフィニティ見積手法を使用して、ユーザーストーリーに対して相対的なポイント見積を評価できるためです。
チームがスプリントを終了すると、完了したバックログアイテムの全ストーリー ポイントを合計し、それをチームの「ベロシティ」とします。 ベロシティにより、チームは、次のスプリントにどれだけの作業ができるかを評価できます。 天気のパターンに似た、事実の履歴データを使用して、「昨日の天気が晴れだった場合、今日の天気も同様だろう」と、休暇や休日などの可能性の差異を考慮します。
たとえば、スプリント計画中に、開発チームがこんなふうに言うかもしれません。「最後のスプリントでは、12 の作業ポイント(ベロシティ)を完了したけれど、当初はなかなかな挑戦だった。しかしすべてが同じであり、レトロスペクティブから得た改善案に基づけばて、少なくとも今回も12ポイントをこなすことができ、13ポイントでもいけるかもしれない。」 バックログのサイズを見積もることで、チームは目標の達成を予測または推定できます。
既知のベロシティなしで予測することは経験主義ではありません。 それは、馬とスポーツカーのどちらを使うのかわからないまま、旅にどれくらいの時間がかかるかを考えるようなものです。
ストーリー ポイントを基盤として、経験的工程管理の予測における、3つの選択肢(PERT、バーンダウン、固定日/固定スコープ予測)を見てみましょう。
PERT
最初の予測方法はPERT(プログラム評価レビュー法)です。 PERTチャートは、プロジェクト内のタスクを計画するために使われる、従来のプロジェクト管理ツールであり、作業のスケジュールと調整を容易にします。 1950年代に生まれたPERTチャートは、米海軍の武器製造および防衛プロジェクトの作成を管理するのに役立ちます。
PERTを使って、チームはプロジェクトの3つの異なる時間の見積もりを出します。
- 各タスクにかかる最短時間。
- 最も可能性の高い時間。
- 物事が計画どおりに進まない場合に作業にかかる可能性のある最長の時間。
PERT の計算は、固定終了日から逆算します。なぜなら通常、請負業者の締め切りは柔軟ではないためです。 PERTチャートは、予測できる納期の範囲を定義します。 ただし、PERTの根本的な弱点は、これが基本的には仮説の時間であることです。
アジャイル手法で、PERT理論を使用すると、予測が簡単に計算できますし、仮説でもありません。 わずか数回の短いスプリントをこなせば、チームは実際のデータに基づいて、ベロシティの最長、最短、平均を推定できます。 製品バックログの累積ポイント合計に重なるシンプルな線を描画して、3つの数値に残りのスプリント数を掛けることで、可能性あり、現実味あり、可能性が低いといった、機能の可能性の度合いを示すことができます。 この予測はもはや希望に基づくものではなく、事実に基づく実証済みのデータに基づくものです。
経験的PERTを、固定範囲予測で使用する方法については後述します。
バーンダウン
2 番目の手法であるバーンダウン チャートは、リリース スケジュールの予測にも役立ちます。 スプリントバーンダウンを使用している場合、各スプリントまたは 一日の終わりに、チームはバーンダウンの現実と、計画した予測と比較することができます。 チームが連続してスプリントに取り組んでいると、過不足が見えてきて、これによってスプリント毎に再評価して適応させることができます。
新しい要件が発生した場合、バックログは新しいスコープに対応するように調整可能、もっと言えば、予測内容を維持するために、交換したり削除したりするスコープを決めることもできます。 バーンダウンは、複数のチームが同じリリース目標に向かって作業している場合にも役立ちます。 もう1つの利点は、1つのスプリントの後、チームが目標達成に向けて順調に進んでいるかどうかがわかることです。
チームにとって、予測にバーンダウンを使用することが重宝する理由は:
- 作成と解釈が簡単。 特定の日(またはスプリント)に、赤い線と緑の線が上下に交差するのを見るのは、リアルタイムのインテリジェンスが生成されるのと同じくらい簡単。
- チームが状況の現実に基づいて考察し、有意義な議論を行える。
- アジャイルリーダーが例外的に管理できる。 リーダーが、組織内のチームのさまざまなバーンダウンチャートを追跡していくと、最も支援を必要としているチーム(緑の線が赤い線より上にある状況)に、すぐに集中できます。
固定日付/固定範囲予測
3番目のモデルは、ヘンリック・ナイバーグがYouTube動画『要約:プロダクトオーナーシップ』で説明したもので、経験的PERT予測を使用した固定日と固定範囲予測です。 プロダクトオーナーは、これがステークホルダーや大き目の組織と予測を共有したり調整したりするのに役立つと感じています。
ヘンリックは、実際のベロシティを点でグラフに描くことで、一般的なチームが時間の経過に伴うベロシティを把握する方法を示しています。 これらの点から、チームは将来の傾向線を推定できます。
チームのリリース日が決まっている場合は、実際のベロシティに基づいてリリースに含まれる機能のレベルを予測できます。
たとえば、毎週のスプリントと下記のベロシティ履歴を使う、 250 ポイントのバックログを持つチームがあるとします。
- 高=13 ポイント
- 低=5ポイント
このチームは、固定日付(スプリント12 の終了後など)の機能ベースの深さを予測できます。
彼らの予測では、少なくとも20ポイント(5ポイント×残りの4スプリント)、最大で52ポイント(13ポイント×残りの4スプリント)を達成できます。 上の図を使用すると、予測では、すべてを赤い線(112) 以下で、いくつかを赤い線以上で完了できるはずですが、緑の線(144)以上の機能はどれも完了できない可能性が高いことがわかります。 さらに良いことに、チームは、優先順位に応じて特定の製品機能がある場合と持たないことの利点と課題を説明できます。
チームのスコープが固定されている場合は、可能なターゲット日付の範囲を予測できます。
同じバックログでスコープが 150 ポイントに固定されている場合、チームが目標を達成できる最も早いのは、さらに 5 回までのスプリント(150 ポイント-92 ポイント完了、または残り 58 ポイントを13 ポイントで割った値))、または 12 回までのスプリント(58 ポイントを5ポイントで割った値)です
ヘンリックは動画の中で、「嘘は禁止! 真実のありがたみを理解しない組織は、アジャイルを好まないでしょう。」 プロダクトオーナーが最良のケースから最悪のケースまでの範囲で、実際のデータを使用して予測できるようにすること、それが真実です。
ヒント
アジャイルチームが目標の達成を予測するために使用するアプローチがなんであれ、事実は1つ。組織とリーダーたとが、よりうまくチームの障害を取り除けば、チームは、より早く目標を達成することができます。アジャイルリーダーは、「このチームの何が問題なのか」を考える代わりに、「どうすればこのチームを助けられるか」を考えることで、チームに貢献します。パフォーマンスの高いチームの実現を最優先事項にしましょう。
予測のおかげで有意義な会話が可能に
アジャイル予測は、チームと組織に自信を与えてくれます。 しかし、より価値があることは、明らかになった事実についての話し合う機会を与えてくれることです。
プロダクトオーナーは、ステークホルダーに対して現実的な期待値を設定するために利用できる、事実を持っています。 開発チームは、「完了の定義」基準に基づく真のパフォーマンスデータの履歴を持っており、それがプロダクトオーナーやお互いの期待値を設定するのに役立ちます。 スクラムマスターは、チームと組織に難しい質問を投げかけるための過去の履歴に基づいた事実を持っています。 事実があるからこそ、チームは、個人との対話、実用的な製品、顧客とのコラボレーション、およびアジリティの本質である変化への適応に焦点を当てた会話を進めることができます。
安定した永続的なチームは、より予測可能であることを覚えておいてください。 人員を変更したり、コンテキストを絶えず変更したりしてチームを混乱させることは、予測可能性ではなく、混乱と同義であるランダム性につながります。 2020年の『スクラムガイド』は、 「スプリント内でどれだけ完了できるかを選択するのは難しいかもしれません。ただし、開発者が過去のパフォーマンス、今後のキャパシティ、および完了の定義について知れば知るほど、スプリント予測に自信を持つようになります。」
製品開発は不確実性と複雑さに満ちており、アジャイル手法に固有の経験的な工程管理のみが、現実的で事実に基づく予測を提供します。 2020年の『スクラムガイド』は、 「進捗状況を予測するための、さまざまな実践が存在します[…] それらが有用であることが証明されていますが、経験主義の重要性に取って代わるものではありません。複雑な環境では、何が起こるかは不明です。将来を見据えた意思決定に利用できるのは、すでに起こったことだけです。」
経験主義の実践について、お手伝いが必要ですか?
パフォーマンスの高いチームや組織が、経験主義に基づいて、顧客にとって価値のある製品を提供するお手伝いをします。私たちのサービスについては お問い合わせ ください。