WSJF

英語名 Weighted Shortest Job First
読み方 ダブリューエスジェイエフ
難易度
所要時間 30分〜1時間
提唱者 Don Reinertsen / SAFe
目次

ひとことで言うと
#

遅延コスト(Cost of Delay)をジョブサイズで割ることで、「小さくて価値の高い仕事」を先にやるべきだと定量的に示す優先順位づけ手法。Don Reinertsenが提唱し、SAFe(Scaled Agile Framework)が採用したことで広まった。

押さえておきたい用語
#

押さえておきたい用語
Cost of Delay(コスト オブ ディレイ)
ある仕事の着手や完了が遅れることで失われる経済的価値のこと。WSJFの分子にあたり、3つの構成要素を合算して求める。
User-Business Value(ユーザー ビジネス バリュー)
その仕事が顧客や事業にもたらす直接的な価値を指す。売上増・満足度向上・コスト削減などが該当する。
Time Criticality(タイム クリティカリティ)
時間経過によって価値がどれだけ急速に減衰するかを示す度合い。期限付きキャンペーンや法規制対応は高くなる。
Risk Reduction / Opportunity Enablement(リスク リダクション)
リスクを下げる効果、または将来の機会を切り開く効果である。技術負債の返済やプラットフォーム整備がこれにあたる。
Job Size(ジョブ サイズ)
その仕事を完了するのに必要な工数・期間の見積もりのこと。WSJFの分母にあたる。

WSJFの全体像
#

WSJF:遅延コスト ÷ ジョブサイズで優先順位を算出する
User-Business Value顧客・事業への直接価値(売上・満足度・コスト)Time Criticality時間による価値減衰(期限・季節性・法規制)Risk Reductionリスク低減・機会創出(技術負債・基盤整備)Cost of Delay(遅延コスト)= User-Business Value + Time Criticality+ Risk Reduction / Opportunity Enablement÷Job Size(ジョブサイズ)実装にかかる工数・期間の見積もりWSJF スコアスコアが高い順に着手 → 経済的リターン最大化WSJF = Cost of Delay ÷ Job Size
WSJFの進め方フロー
1
候補を並べる
バックログからスコアリング対象の仕事を洗い出す
2
遅延コストを見積もる
3つの構成要素を相対見積もりで数値化する
3
ジョブサイズを見積もる
実装に必要な工数を相対見積もりする
スコアで並べ替え
WSJF = CoD ÷ Size で順位を決定する

こんな悩みに効く
#

  • バックログの優先順位を「声の大きい人」の意見で決めてしまっている
  • 大きな機能ばかり先に着手して、小さいが価値の高い改善が後回しになる
  • 施策の「緊急度」と「重要度」をどう天秤にかければいいかわからない

基本の使い方
#

スコアリング対象のジョブを洗い出す
バックログやフィーチャーリストから、優先順位を決めたい仕事を並べる。粒度は「チームが1スプリント〜数スプリントで完了できる単位」が目安。粒度がバラバラだとジョブサイズの比較が意味をなさなくなるため、大きすぎるものは分割してからスコアリングに入る。
遅延コスト(Cost of Delay)を相対見積もりする

以下の3要素をそれぞれ 1〜13のフィボナッチ数列(1, 2, 3, 5, 8, 13)で相対評価し、合計する。

  • User-Business Value: 顧客価値や売上への貢献度
  • Time Criticality: 遅れるほど価値が下がるか(期限・季節性)
  • Risk Reduction / Opportunity Enablement: リスク低減や将来の機会創出への寄与

ポイントは絶対値ではなく「候補同士を比べた相対値」で付けること。まず基準となるジョブを1つ選び、それを中間の 5 に設定すると揃えやすい。

ジョブサイズを相対見積もりする
同じフィボナッチ数列で、実装にかかる工数・期間を相対的に見積もる。ストーリーポイントやTシャツサイズをすでに使っているチームは、その数値をそのまま転用してもよい。
WSJFスコアを算出し、高い順に並べる
WSJF = Cost of Delay ÷ Job Size を計算し、スコアが高い順に着手する。スコアが近い場合(差が10%以内など)は、チームの判断で入れ替えて構わない。計算結果を過信せず、「この順番で本当に納得できるか?」をチーム全員で確認する。

具体例
#

例1:モバイルアプリのリリース計画を整理する

あるフィットネスアプリのチームが、次の4つの施策で優先順位を迷っていた。

施策User-BVTime Crit.Risk Red.CoD合計Job SizeWSJF
プッシュ通知のパーソナライズ8321352.6
Apple Watch連携58114131.1
決済画面のUI改善3251025.0
ソーシャルシェア機能5511181.4

決済画面のUI改善はWSJF 5.0 で最上位。離脱率 18% のボトルネックを 2スプリント で直せるため、小さな工数で大きなリターンが見込める。Apple Watch連携は話題性があるものの、工数13と重く、スコアは最下位の 1.1 だった。

例2:BtoB SaaSのPI計画で30施策を絞り込む

従業員管理SaaSの開発チームがPI(Program Increment)計画で30のフィーチャー候補を抱えていた。全員でスコアリングに 90分 を使い、上位10施策に絞った。

スコアリング前は「大企業向けSSO対応」が最優先と思われていたが、WSJFを計算すると結果は違った。

  • SSO対応: CoD = 16、Size = 13 → WSJF 1.2
  • CSV一括インポート改善: CoD = 14、Size = 3 → WSJF 4.7
  • 勤怠データのリアルタイム集計: CoD = 18、Size = 5 → WSJF 3.6

CSV改善は「地味だが問い合わせの 35% を占める」ペインポイントだった。工数3で着手でき、カスタマーサポートの月間対応時間を推定 40時間 削減できる。WSJFがなければ、SSO対応に3スプリントを費やしてからようやく着手する予定だった。

例3:地方自治体がDX施策の着手順を決める

人口8万人の自治体が、住民サービスのデジタル化で5つの施策を検討していた。予算は年間 2,400万円、IT担当は 3名

施策User-BVTime Crit.Risk Red.CoDSizeWSJF
オンライン住民票申請8531653.2
庁内ペーパーレス化3281381.6
防災情報LINE配信51352337.7
公共施設予約システム5321081.3
AI問い合わせチャット52310130.8

防災LINE配信が 7.7 で断トツの1位。台風シーズンまで残り4か月というTime Criticalityの高さと、実装が軽い(既存LINE公式アカウントに配信機能を追加するだけ)ことがスコアを押し上げた。住民アンケートでも「災害時の情報が遅い」が不満の 1位(42%) であり、数値で裏付けられた優先順位に議会の合意も得やすかった。

やりがちな失敗パターン
#

  1. 絶対値で見積もってしまう — 「この機能は500万円の価値がある」と絶対額で付けると、基準が人によってブレる。WSJFの見積もりは候補同士を比べた相対値で行うのが鉄則
  2. ジョブサイズの粒度がバラバラ — 1日で終わるバグ修正と3か月の新機能開発を同列にスコアリングしても意味がない。比較可能な粒度に揃えてからスコアリングに入る
  3. スコアを絶対視して思考停止する — WSJFはあくまで「議論の出発点」。スコアが僅差なら依存関係やチームのスキルセットも加味して最終判断する。数字だけで決めるとチームの納得感が下がる

まとめ
#

WSJFは Cost of Delay ÷ Job Size というシンプルな計算で、「小さくて価値が高く、急ぎの仕事」を先にやるべきだと可視化する手法。見積もりには絶対値ではなく相対値を使い、候補同士を比較することがポイントになる。スコアはチームの議論を促すための道具であって、最終判断そのものではない。迷ったらまずテーブルに数字を並べてみることから始めるとよい。