WSJF アジャイルフレームワーク
Weighted Shortest Job First (WSJF) は、遅延コストとジョブサイズのバランスを取ることで、作業の優先順位を付けるのに役立ちます。このフレームワークは、変化の激しい環境で限られたリソースを使って最大の価値を提供します。
WSJF 優先順位付けの概要
WSJF 計算
WSJF スコア = (ビジネス価値 + 時間的切迫度 + リスク軽減) / ジョブサイズ
基準
ユーザーおよびビジネスの価値は、ユーザーにとっての重要性と潜在的な収益への影響によってジョブをランク付けします。
時間的切迫度は、緊急性によってジョブをランク付けします。時間の経過とともに価値がどのように減少するか、または遅延によって失う可能性のある顧客数を評価します。
リスク軽減と機会の創出は、すぐには収益をもたらさないが、長期的な成果に利益をもたらすジョブを強調します。一部のソリューションは、技術的または法的リスクを排除し、後でコストを節約します。
ジョブサイズ (ストーリーポイント、フィーチャーポイント、工数、または相対的なサイズとも呼ばれます) は、実装の複雑さを測定します。この推定では、小さい数値の方が優れています。
評価
-
各基準をフィボナッチスケールで評価します: 1 (影響なし)、2、3、5、8、13、21 (最高の影響)。
-
5 人から 11 人のチームで協調的な優先順位付けセッションを実施します。
-
各イテレーション計画イベント (スプリント) の前にタスクを評価します。
-
チームメートとの議論を通じて、異なるスコアを正規化します。
-
'21' と '13' のジョブサイズを持つイニシアチブを、より小さなプロジェクトに分割します (バックログリファインメント)。
-
変化の激しい環境を反映するため、5 回のイテレーション (プログラムインクリメント) ごとに評価スコアをリセットします。
すぐに使える Ducalis 優先順位付けテンプレートを適用
基準、数式、スケールをカスタマイズする必要はありません。ミーティングを開始するための雛形として使用してください。
WSJF は単なる数式ではなく、エンタープライズ向けの包括的なワークフローフレームワークの一部です。魔法が起こるのは、意思決定アプローチを変えるときです。協調的な優先順位付けセッションを実施し、スコア有効期限を設定し、基準を指定し、チームメートにタスクの説明を行います。この記事は、その優先順位付けの習慣を作り、マインドセットを変えるためのツールを提供します。
WSJF の定義
WSJF は Weighted Shortest Job First (加重最短作業優先) の略で、遅延コスト (CoD) の相対的な値とジョブサイズ (期間の代理) を計算してバックログに優先順位を付けるための優先順位付けフレームワークです。CoD は次の合計として計算されます: ユーザーおよびビジネスの価値 + リスク軽減と機会の創出 + 時間的切迫度。 これは SAFe 手法の一部です。
バックログの優先順位は、WSJF 優先度スコアに基づいて継続的に更新されます。このフレームワークは、リーン経済学の基本原則であるサンクコストを便利かつ自動的に無視します。
フローベースのシステムでは、優先順位を更新するための継続的なタスク優先順位付けが、次のような最良の経済的成果をもたらします:
- 迅速な成果を前倒しすることによるジョブシーケンス
- 投資リソースを削減しながら最高の財務結果のバランスを取る
- 変化の激しい環境を反映するための CoD とジョブサイズの定期的な更新
SAFe とは?
ScaledAgile.com によると、Scaled Agile Framework (SAFe) は、アジャイル、リーン、DevOps のプラクティスを大規模に実装するためのシステムです。アジャイルプロダクトデリバリーの最良のアイデアを取り入れ、それらをエンタープライズ全体に拡張してビジネスアジリティを提供します。SAFe は、機能する、信頼できる、カスタマイズ可能で持続可能なフレームワークであるため、主要なエンタープライズで最も人気のあるフレームワークです。
このフレームワークは常に更新されており、バージョンがあります。2022 年の最新バージョンは 5.1 で、SAFe はエンタープライズの 7 つの主要領域をカバーしています:
- チームと技術アジリティ
- アジャイルプロダクトデリバリー
- エンタープライズソリューションデリバリー
- リーンポートフォリオ管理
- 組織アジリティ
- 継続的学習文化
- リーンアジャイルリーダーシップ
約束された結果:
- +50% 市場投入までの時間短縮
- +50% 欠陥削減
- +35% 生産性向上
- +30% 幸せで積極的に関与する従業員
この記事では、基盤である WSJF 意思決定フレームワークに焦点を当てます。
無料 WSJF テンプレートをダウンロード:
WSJF の計算方法
WSJF 数式
Weighted Shortest Job First (WSJF) フレームワークは、変化の激しい世界で遅延コスト (CoD) とジョブサイズのバランスを見つけることによって、限られたリソースで最大の価値を提供するために次に選択するタスクを決定するのに役立ちます。
WSJF スコアの計算
WSJF スコア = 遅延コスト / ジョブサイズ
CoD を計算します。これは、注目すべき 3 つのタイプのプロダクト開発の課題を定義します。
遅延コスト = ユーザーおよびビジネスの価値 + 時間的切迫度 + リスク軽減 | 機会の創出の価値
各基準を 1、2、3、5、8、13、21 のスケールで評価します。
推定原則:
-
WSJF 推定の目的は、不確実性のレベルを理解することであり、時間やお金を計算すること (ほぼ不可能) ではありません。そのため、特定のタスクを達成するための正確な時間ではなく、確率を推定します。これは相対的評価と呼ばれます。
-
主な目標は各イテレーションで価値を提供することであるため、シーケンスの中央値は「1 つのイテレーション」になります。
-
1 つのイテレーション = 2 週間。これが計画のベースラインです。2 週間のイテレーションのストーリーポイント数を計算します。
-
プログラムインクリメント (PI) = 5 つのイテレーション (10 週間)。SAFe によると、PI は、アジャイルリリーストレイン (ART) が動作するテスト済みソフトウェアとシステムの形で増分価値を提供するタイムボックスです。チーム全体がプロダクトのために何か大きなことを実現します。言い換えれば、組織は大規模なアップデートをリリースし、その後、バックログを再評価し、優先順位について再度考え、議論する必要があります。
これは推奨事項にすぎず、チームにとって快適な方法でアプローチを自由にカスタマイズできます。この記事の後半では、ビジネスニーズに合わせて基準を正確に理解し、カスタマイズする方法について説明します。
ユーザーおよびビジネスの価値 (UBV)
プロダクトを前進させる新機能とイノベーション。たとえば、エンタープライズセキュリティログインオプションは、大口顧客からの苦情を回避するのに役立ち、売上につながります。
ユーザーおよびビジネスの価値 (UBV) は、ユーザーにとっての相対的な重要性 (望ましさの優先順位付け) と収益への潜在的な影響 (財務優先順位付け) によってジョブをランク付けします。この時点で、このソリューションがノーススターメトリックの促進にどれだけ効果的かを推定します。UBV に影響を与える可能性のある要因は多数あるため、ビジネスへの影響について考え始め、すべてがうまくいくという確信度を高めます。
答えるべき質問: 更新できる重要なプロダクトメトリックは何ですか?これはユーザーにとってどれほど重要ですか?収益への影響は何ですか?
フィボナッチ数列によるユーザーおよびビジネスの価値の評価
- 1 ポイント: ユーザーおよびビジネスの価値がまったくない。このタスクは他の何かに関連している
- 2 ポイント: ビジネスへの影響と確信度が最も低い
- 3 ポイント: ビジネスへの影響と確信度が低い
- 5 ポイント: ビジネスへの影響が中程度、確信度が中程度
- 8 ポイント: ビジネスへの影響と確信度が高い
- 13 ポイント: ビジネスへの影響と確信度が非常に高い
- 21 ポイント: ビジネスへの影響と確信度が最高
時間的切迫度 (TC)
緊急性を評価します。イニシアチブには、新しい規制、税務報告、季節的なプロモーションなど、正当な期限があります。
時間的切迫度は、緊急性によってジョブをランク付けします。時間の経過とともに価値がどのように減少するか、または遅延した場合に失う可能性のある顧客数を推定します。
推定タイムフレームは、1 つのイテレーション (2 週間) から 1 つのプログラムインクリメント (PI) (10 週間) までです。各 PI サイクルで、新しい再評価セッション (スコア有効期限後) を実施し、緊急性がどのように変化したかを決定します。
答えるべき質問: ビジネスにとってどれほど緊急ですか?ユーザーは待つか、別のソリューションに移行しますか?固定の期限はありますか?
フィボナッチ数列による時間的切迫度の評価
- 1 ポイント: まったく時間的に重要ではないタスク
- 2 ポイント: 次の推定サイクルまで待つことができる (5 回のイテレーションごとのスコア有効期限後)
- 3 ポイント: 4 スプリント (約 8 週間) 待つことができる
- 5 ポイント: 中程度の緊急性、3 スプリント (約 6 週間) 待つことができる
- 8 ポイント: 2 スプリント (約 4 週間) 待つことができる
- 13 ポイント: 1 スプリント (約 2 週間) 待つことができる
- 21 ポイント: 最高の緊急性、次のスプリントでその課題に取り組む必要がある
リスク軽減 | 機会の創出の価値 (RR | OE)
技術的またはビジネスのリスクを回避または軽減するタスク。例としては、コードリファクタリング、データベース更新、セキュリティ、税務監査など、プロダクトの健全な運用を確保するために行う必要があることがあります。
リスク軽減と機会の創出は、すぐには収益をもたらさないが、長期的に利益をもたらすジョブを強調するのに役立ちます。一部のソリューションは、技術的または法的リスクを排除し、後でコストを節約します。他のものは、潜在的な顧客数を大幅に増やすさらなる改善の扉を開く可能性があります。
答えるべき質問: タスクがリスクの説明から始まる場合、そのリスクの影響はどれくらい大きいですか?どのような確率ですか?
フィボナッチ数列によるリスク軽減の評価
- 1 ポイント: リスク軽減をまったく提供しない
- 2 ポイント: 最も低いリスク、最も低い重大度の確率の可能性を軽減
- 3 ポイント: 低リスク、低重大度の確率の可能性を軽減
- 5 ポイント: 中程度のリスク、中程度の重大度の確率の可能性を軽減
- 8 ポイント: 中高リスク、高重大度の確率の可能性を軽減
- 13 ポイント: 非常に高いリスク、非常に高い重大度の確率の可能性を軽減
- 21 ポイント: 発生する可能性が最も高い、非常に影響力のあるイベント、災害のリスクを軽減できる
ジョブサイズ (ジョブサイズ)
ジョブサイズは唯一のマイナス要因であり、実現の複雑さによってジョブをランク付けします。必要な工数のコストを考慮せずに、最高の ROI を達成することは不可能です。期間は、ストーリーポイント、フィーチャーポイント、工数、または相対的なサイズとも呼ばれます。
答えるべき質問: 実装にどれくらいの時間がかかりますか?より時間がかかる可能性のある依存関係はありますか?
フィボナッチ数列によるジョブサイズの評価 (ストーリーポイント)
- 1 ポイント: まったく工数が必要ありません。ゼロで割ることはできないため、ジョブサイズの推定は 1 から始める必要があります。
- 2 ポイント: 推定ベースライン。2 週間のイテレーションで、コーディングに 1 日、テストと検証に 1 日で十分である 80% の確率。
- 3 ポイント: スプリント工数の約 4 分の 1 のタスク
- 5 ポイント: イテレーションの約半分。2 週間のイテレーションで、タスクのコーディングに 5 営業日、テストと検証に 1 日かかる 80% の確率。
- 8 ポイント: 2 週間 (1 つのイテレーション/スプリント) 以内にタスクが開発およびテストされる 80% の確率
- 13 ポイント: 1 つから 2 つのイテレーションの間
- 21 ポイント: 「バズ・ライトイヤー推定」、2 スプリント以上かかるもの (「無限の彼方へ」)。チームと作業した私の実践的な経験から、1 つのイテレーションを超える多くのアイデアを評価することになり、それらをより小さなチャンクに分割する必要があります。
WSJF スコアを計算するための最終的な数式:
WSJF スコア = (ビジネス価値 + 時間的切迫度 + リスク軽減 | 機会の創出) / ジョブサイズ
チームに合わせて基準をカスタマイズ
標準的な Scrum フレームワークでは、各チームのストーリーポイント推定、およびその結果としてのベロシティは、ローカルで独立した関心事です。これは評価プロセスの出発点です。Ducalis WSJF テンプレートから適用し、基準の説明を変更できます。
スケールに対する単一の正しい定義はありません。あなたとチームが用語に混乱している場合は、変更してください!Ducalis はその点でかなり柔軟です。
イテレーション
アジャイルプロセスの中核は、イテレーションまたはスプリントと呼ばれる基本的な構成要素です。各イテレーションは、アジャイルチームが増分価値を提供する標準的な固定長のタイムボックスです。
イテレーション計画イベント (プロダクトインクリメント)
各イテレーションは、明確な優先順位のリストから始める必要があります。その計画の前に、評価されたバックログが必要です。チームは、評価、優先順位付け、計画のために、開発サイクル間の 1 週間全体を費やすことがよくあります。その後、短いイテレーション (スプリント) で価値をデプロイします。
Ducalis は、非同期評価プロセスを通じて、チームのその 1 週間全体を節約できます。計画の日を設定すると、Ducalis が残りを処理します。チームの評価進捗レポートで評価の進捗を追跡できます。
チームメートが時間内に評価するように動機付けるには、励ましのメッセージでサポートを提供します。優先順位付けの習慣設定に移動し、次のイテレーション計画ミーティングの前に時間内に評価を終えたチームメートに対する報酬メッセージを設定します。
再評価の力
最優先事項、緊急性、ビジネス価値は、腐りやすい製品です。新しい顧客リクエスト、バグ、技術的負債、新しい規制、素晴らしいアイデアなど、非常に多くのインプットがあります。
SAFe の全体的なアイデアは、変化の激しい世界に新しい方法で適応することです。企業の環境は、5 回のイテレーション (1 つの PI) ごとに変化します。したがって、評価スコアをリセットすることを強くお勧めします。
フローベースのシステムでは、優先順位を継続的に更新することで、最良の経済的成果が得られます。理論上の個別のジョブ投資収益率ではなく、ジョブシーケンスがそのようなフローコンテキストで最良の結果を生み出します。
バックログの再評価の副次的な利点は、バックロググルーミング/リファインメントです。各バックログアイテムについて考えているうちに、何らかの理由で一部の情報が古くなったため、タスクをマージ、更新、または削除する方法についてのアイデアが得られます。hi.ducalis.io の経験から、再評価サイクルごとにバックログアイテムの 2% から 5% を削除します。
再評価サイクルを設定するには:
- Meeting in # days をクリックします。
- スコア有効期限セクションまでスクロールダウンします。
デフォルトでは、チームの評価スコアは次の PI サイクルの開始後に期限切れになります。
デフォルトでは、スプリントは 2 週間です。優先順位付けの習慣セクションでカスタマイズできます。
スコアが期限切れになり、前の PI を完了していない場合でも、スコアを復元して優先順位付け期間を延長できます。
協調的な優先順位付け
アジャイル推定はチームスポーツです。各アジャイルチームは 5 人から 11 人のメンバーで構成されています。アジャイル (クロスファンクショナルチーム) を優先順位付けプロセスに招待します。
チームがプロダクトバックログを推定するとき、どのタスクに誰が取り組むかはわかりません。通常、チームはイテレーション計画 (スプリント) 中にそれを決定します。
これが、アジャイルチーム全体がすべてのプロダクトバックログアイテムを評価する理由です。
バイアスを減らす
チーム全体が、一貫したプラクティスに到達するために、ストーリーポイントの割り当ての背後にあるロジックを理解する必要があります。すべてのチームメンバーは、他のチームメンバーの影響を受けずに投票します。外部からの圧力や不十分なチームワークは、ストーリーポイントを急速に膨らませ、予測に影響を与える可能性があります。
優先順位付けミーティングが、部屋で最も声の大きい人によって主導されることがあります。これは、評価セッション中に互いに干渉する可能性があることを意味します。全員が自分のペースで優先順位付けできるようにします。
'正しい影響' を選択
記事の冒頭でビジネスへの影響について話しました。しかし、さまざまな役割に「次に行うべき最も影響力のあることは何ですか?」という単純な質問をすると、どのような答えが得られるでしょうか。たとえば、開発者は「より高速なデータベース」と言い、営業担当者は「最大の顧客のための機能リクエスト」と言い、プロダクトマネージャーは「新しいリテンションメッセージ」などと尋ねるでしょう。
どちらがより影響力があるかを比較することはほぼ不可能です。ただし、それはすべてのアジャイルチームにとって考慮すべき良いことであり、まさに Ducalis が処理できることです。
さまざまな意見を集める
優先順位付けフレームワークは、感情や政治を意思決定から排除し、代わりに事実に頼ることができるようにするのに最適です。ただし、一人で優先順位を付けると、まだバイアスがかかっています。優先順位付けにポーカープランニング手法を借用します。Ducalis を使用すると、各チームメンバーを優先順位付けに招待できます。
チームメートを招待するには:
- 基準設定を開きます。
- 共有評価チームにチームメートを招待します。
これにより、各チームメートに独立した推定のための評価リストが提供されます。
各役割の基準を指定
たとえば、Web サイトの新機能を開発する必要があるとします。少なくとも 3 つの役割 (UX デザイナー、フロントエンド、バックエンド) があり、すべての役割でその機能のジョブサイズが異なります。UX はジョブサイズが 3 日、フロントエンドは 1 日、バックエンドは 5 日必要です。プロジェクト全体のジョブサイズは何ですか?
問題は計算ではありません。チームはそれについて議論するための時間枠を見つける必要があります。リモートファーストの世界では、それはもう 1 つの Zoom 通話と議論を意味します。作業に関するより多くの作業。
Ducalis は、非同期優先順位付けアプローチでそれを処理できます。
役割別に基準を割り当てるには:
-
基準設定を開きます。
-
各ユーザーに専門知識に応じて推定する基準を割り当てます。
その後、各チームメンバーは、推定を担当する基準セットでバックログアイテムを評価します。
全員が参加すると、賛同が増える
協調的な優先順位付けの副次的な効果は、チームメートがプロダクトで何が起こっているかをよりよく理解することです。どのような課題、リクエスト、アイデアがあり、なぜ一部が他よりも重要なのかを理解しています。これにより、士気とチームの関与が高まります。
スコアを正規化
定期的な実践を通じて少しの正規化が発生し、チーム全員がサイジングの背後にある同じ仮定を行うようにします。たとえば、ある人がアイテムを「2」とサイジングし、別の人が「8」とサイジングした場合、同様の能力を共有していれば、要件を異なる方法で解釈したか、異なる方向からアプローチしたことになります。これが発生した場合、開発者はプロダクトオーナーと協力して仮定を明確にし、サイズについて合意します。(これはコンセンサスである必要はありません。人々は同意しないことに同意できます。)
チームが、独自のスキルセット、在職期間、ドメイン知識を持つフィボナッチスケールが何を意味するかを学習している間、新しいリクエストを共有された類似性を持つ完了した作業と比較することが役立ちます。たとえば、新しいアイテムにストーリーポイント値 5 が割り当てられた場合、同じサイズの類似したものと比較し、それに応じてポイントを調整します。
Ducalis を使用すると、チーム合意度レポートをすばやく確認して、不一致のヒートマップを取得できます。これは、大部分の推定がまったく議論を必要としないポーカープランニングセッションを実行する代わりに、非同期優先順位付けのための別のツールです。
より小さなチャンクに分割
WSJF に関する最大の誤解の 1 つは、チームを簡単なタスク (低い位置にある果実) のみに集中させる可能性があるということです。代わりに、特定のタスクのジョブサイズが小さいほど、優先度スコアが高くなり、タスクのランクが高くなります。
マトリクスを使用してバックログを細分化し、タスクをどうするかを決定します。
リファインメントの実践 (作業をより小さく、より価値のあるチャンクに分割すること) を通じて、開発者は洞察を得続けます。各リクエストが小さくなり、より多くのことがわかるにつれて、継続的にサイズを再検討します。したがって、チームが新しいデザイン、開発、依存関係を理解するのに役立つ 3 つのタッチポイントを提供することをお勧めします。
実践的なアドバイス
-
正確すぎようとしないでください。1 時間のタスクがある場合、1 日のベースラインを設定することを恐れないでください。長期的にはすべてが補償され、バランスが取れます。
-
推定値を次の値に切り上げます。
-
ただし、最終的な決定は、問題のバックログのアイテムをシーケンスする責任を負うプロダクト専門家に委ねられます。規制上の期限、レガシーシステムの脆弱性、または将来の機能の基盤の構築などの要因は、財務上の条件で表現するのが難しい場合がありますが、それでも考慮する必要があります。
関連リソース
hi.ducalis.io は、Scaled Agile Framework または SAFe とは関連していません。彼らのビジョンとマニフェストは https://www.scaledagileframework.com/ でお読みください