[DX PMO] リードタイムDashboardの「データ入力」問題 — 測定の前提をどう整えるか
リードタイムを可視化するDashboardを作った。5つのTABで全体KPI・Product Line分析・分布・トレンド・Project Sizeまで網羅した。
しかし、Dashboardの精度はデータ入力の精度に完全に依存する。
各フェーズの日付データは担当者が手入力する必要があり、ここで抜け漏れが発生しやすい。プロジェクトの単位も異なり、見積もり工数(Person Month)の最適化が大前提になる。
本記事では、リードタイムDashboardの設計から見えてきた「測定の前提条件」の課題と、それをどう解決するかを体系的にまとめる。
背景:Dashboardは作れた。しかし簡単ではない
何を作ったか
Fintech領域のプロダクト開発において、リードタイム(要件定義開始からリリースまでの日数)を追跡するDashboardを構築した。
Dashboard構成(5 TAB):
TAB 1: Overview — KPIカード これまでのLead timeを目標を設定
TAB 2: Product Line — Line別リードタイム + フェーズ内訳 + 効率指標
TAB 3: Distribution — リードタイム分布 + 目標達成率サマリー
TAB 4: Trend Analysis — 週次スナップショット + Top Movers + LT Gap
TAB 5: Project Size — 規模分析 + Scope内訳(v2で追加)
データパイプラインはJira → DWH → dbt → BIツールで自動化されており、日次更新で最新のリードタイムを提供する。
何が難しいのか
Dashboardの「箱」は作れた。しかし運用を始めると、3つの構造的な課題が浮かび上がる。

これらは「Dashboardの問題」ではなく、組織のデータ入力プロセスの問題である。
課題C1:日付データの入力漏れ — フォールバックの限界
なぜ日付データが必要か
リードタイムは4つのフェーズに分解される。各フェーズの開始日・終了日がないと、ボトルネック分析ができない。
リードタイムのフェーズ分解:
PRD Start ──▶ PRD End ──▶ Dev Start ──▶ QA ──▶ Release
│ │ │ │ │
│ PRD Phase │ Dev Phase │ QA Phase │ Release │
│ (~70日) │ (~78日) │ (~21日) │ (~26日) │
└────────────────┴────────────────┴──────────┴─────────┘
合計: ~183日(中央値: ~147日)
現実:担当者が記入しないと始まらない
各フェーズの日付は、チケット管理ツールのカスタムフィールドに担当者が手入力する。

抜け漏れが発生しやすい理由:
担当者にとって日付入力は「本業」ではない
入力しなくても開発は進む(即座にペナルティがない)
フィールドが多すぎて、どれが必須か分からない
ステータス遷移のタイミングと日付入力のタイミングがズレる
対策:フォールバックロジック + カバレッジ監視
フォールバックロジック
日付が未入力の場合に、代替データから推定する仕組みをデータモデルに組み込む。
PRD End Date のフォールバック優先順位(11段階):
1. PRD End Date(カスタムフィールド) ← 最も正確
2. Dev Start Date(開発開始 ≒ PRD完了)
3. ステータス変更履歴: PRD → Dev への遷移日
4. ステータス変更履歴: To Do → Dev への遷移日
5. ... (中間の代替ソース)
11. 現在日付(進行中の場合) ← 最後の手段
フォールバックの段数が深いほど精度は落ちる。理想は第1〜2段で解決すること。
カバレッジ率の監視
フォールバックに頼らず、元データがどれだけ入力されているかをトレンドで追跡する。
Phase Duration カバレッジ率(週次トレンド):
Coverage %
100│
│ ●─────● Overall
80│ ●─────●
│ ●─────●
60│ ●─────● ●──── PRD
│ ●─────● ●─────●
40│ ●─────● ●─────●
│ ●─────● ●── DEV
20│ ●─────●
│ ●─────●
0┼──────┬──────┬──────┬──────┬──────
02-16 03-02 03-16 03-30 04-13
カバレッジ率が上がれば、フォールバックへの依存が減り、Dashboard全体の精度が向上する。
データ入力を促進する仕組み

推奨: チケット自動化 + Slackアラートのハイブリッド。自動化で80%をカバーし、残りをアラートで補完する。
課題C2:プロジェクト単位の不統一 — 何を「1件」と数えるか
なぜ単位が重要か
リードタイムの比較は「1プロジェクト」単位で行う。しかし、プロジェクトの粒度がバラバラだと、比較が成立しない。
粒度の問題:
プロジェクトA: 「送金機能リニューアル」
→ 10チーム関与、120 PM、リードタイム 300日
プロジェクトB: 「ボタンの色変更」
→ 1チーム、0.5 PM、リードタイム 14日
→ 平均リードタイム: (300 + 14) / 2 = 157日 ← これに意味はあるか?
測りやすくするための3つのアプローチ
アプローチ1: サイズクラスで層別化
プロジェクトを工数(PM)ベースでサイズ分類し、同じクラス内で比較する。

アプローチ2: 効率指標(Days per PM)で正規化
リードタイムを工数で割ることで、規模を正規化した効率指標を得る。
Days per PM = SUM(Lead Time) / SUM(Person Month)
例:
Line A: 平均LT 200日、平均PM 3.0 → Days/PM = 66.7(規模の割に効率的)
Line B: 平均LT 120日、平均PM 1.1 → Days/PM = 109.1(規模の割に遅い)
→ 平均LTだけ見るとLine Bの方が「速い」が、
規模を考慮するとLine Aの方が「効率的」
この指標により、「リードタイムが長い → 規模が大きいから仕方ない」vs「規模の割に遅い」を区別できる。
アプローチ3: 件数の定義を厳格化
「1件」の定義を組織で合意し、例外ルールを明文化する。

課題C3:見積もり工数(PM)の未整備 — 最適化が大前提
なぜ見積もりが必要か
今回リードタイムDashboardについて、Project Sizeの観点が追加された。「リードタイムが長いのは、規模が大きいから仕方ないのか? それとも規模の割に遅いのか?」を構造的に議論するためである。
この議論には、見積もり工数(Person Month) が不可欠。
見積もり最適化のロードマップ
Phase 1: カバレッジの引き上げ(以下は、例)

Phase 2: 見積もり精度の検証サイクル
見積もりが蓄積されたら、見積もり vs 実績のフィードバックループを回す。
見積もり精度の継続改善サイクル:
┌─ Planning ─────────────────────────────────────────┐
│ チーム別工数見積もり │
│ ※過去の見積もり精度データを参照しながら見積もり │
└────────────────────────┬───────────────────────────┘
▼
┌─ Development ──────────────────────────────────────┐
│ 進捗ダッシュボードがリアルタイム更新 │
│ Done遷移 → 実工数を記録 │
└────────────────────────┬───────────────────────────┘
▼
┌─ Review ───────────────────────────────────────────┐
│ 見積もり vs 実績の自動比較レポート │
│ チーム別・規模別の見積もり精度分析 │
└────────────────────────┬───────────────────────────┘
▼
次のPlanningへ(精度が上がった状態で)
Phase 3: 因数分解による構造的な議論
見積もりが整備されると、リードタイムを4つの要素に因数分解して議論できるようになる。
リードタイム = f( 規模, 投入, 効率, 構成 )

4要素を一緒に見る理由: LTという1つの結果を「規模の効果」「投入の効果」「効率の効果」「構成の影響」に分けることで、「なぜそのLTなのか」「改善したのか」「妥当なのか」を構造的に議論できる。1つでも欠けると、別の要因で説明がつく反論を潰せない。
Scope(スコープ)の扱い — 工数だけではProject Sizeが決まらない
なぜScopeを変数に含めるか
同じプロジェクトでも、Scope(BRD / PRD / Dev / Delivery)によって工数の意味が変わる。

二軸アプローチ(推奨)

二軸で見るシミュレーション:
主軸(Deliveryのみ):
件数: 5件 → 5件(同じ)
工数: 100 PM → 120 PM(投入増)
LT: 100日 → 80日(短縮)
Days/PM: 5.0 → 3.3(効率改善)
補助軸(全Scope内訳):
PRD: 30 PM → 20 PM
Dev: 70 PM → 60 PM
Delivery: 100 PM → 120 PM
合計: 200 PM → 200 PM(全体は同じ)
→ 全体工数は同じ200 PMだが、Deliveryのシェアが50%→60%に上昇
→ 「今四半期は届けることにリソースを集中した」と解釈できる
Weekly vs Quarterly の使い分け

実践のポイント
1. Dashboardの精度は「入力率」で決まる
どれだけ高度な分析ロジックを組んでも、元データが入力されていなければ意味がない。カバレッジ率を最初のKPIにすることで、Dashboard自体の信頼性を可視化できる。
2. フォールバックは「保険」であり「常態」にしてはいけない
フォールバックロジックは未入力データを補完する強力な仕組みだが、段数が深いほど精度は落ちる。フォールバックへの依存度を週次で監視し、第1〜2段で解決する割合を80%以上に保つことを目標にする。
3. 見積もりなき計画は「勘」の域を出ない
見積もりカバレッジが低い状態だと、「規模の割に妥当か」の議論はできない。まず直近のDeliveryスコープから着手し、目標の数値まで引き上げることで、因数分解による構造的な議論が可能になる。
4. 「1件」の定義を合意してからDashboardを見せる
プロジェクトの粒度が統一されていない状態でDashboardを見せると、「この数字は何を数えているのか」という議論に時間を取られる。件数の定義・除外条件・分割ルールを先に合意しておく。
5. 自動化で入力負荷を下げ、アラートで漏れを拾う
担当者に「入力してください」と言い続けるのは持続可能ではない。ステータス遷移に連動した日付の自動セット(80%カバー)+ 未入力アラート(残り20%の補完)のハイブリッドが現実的。
まとめ
リードタイムDashboardの価値は、データ入力の品質に完全に依存する。フォールバックロジックで補完はできるが、元データの入力率向上が本質的な解決策
プロジェクト単位の不統一は、サイズクラス分類と効率指標(Days per PM) で正規化することで、異なる規模のプロジェクトを公平に比較できるようになる
見積もり工数(PM)の最適化は、リードタイムを因数分解(規模・投入・効率・構成) して構造的に議論するための大前提。
Dashboardは「作って終わり」ではない。入力プロセスの整備 → データ品質の監視 → 分析精度の向上という継続的な改善サイクルを回すことで、初めて組織の意思決定に使えるツールになる
