統合課題解決ドクトリン(Explore–Deliver Doctrine) |  運用ポリシーとアーティファクト #ROI-3 フレームワーク

主:この判断モデルは思想,判断モデルを元に作成したフレームワークの一例であり、絶対の正ではない。

Model(判断ロジック+契約)を実装し、現場で即運用可能にする規範と既定値。

役割(この文書の目的)

  • 運用規範と既定値の提供。Model の契約(Policy/Artifacts)に従って実装。
  • 正典の判断ロジック(タイブレーク順・不変条件)は Model を参照し、ここでは重複記載しない。

1) Policy(既定値)

1-1. DoR(Definition of Ready)

  • 解像度スコア(0–3×3軸): 目的明確度 / 経路明確度 / 文脈安定度
  • 調整: 可逆性 Two‑way +1、被害半径 Large −1、依存強 −1
  • 下限: 補正後であっても各軸の最低点は1以上(極端な片寄りでReadyにしない)
  • 判定: 合計 ≥7 → Ready。未達 → Hypothesis(仮説=マイクロ課題)に昇格し Explore で扱う

1-2. ROI(序数 1–5)

  • ROI_Explore: 失敗確率低減幅 × 失敗時損失 ÷ 探査コスト(概念)
  • ROI_Deliver: 期待価値 ÷ 実行コスト − 機会費用(概念)
  • 序数化手順(正規化)
  • 各ロールが Low/Med/High で入力 → 加重平均 → 1–5に写像
  • 負方向は1へ、突出は5へクリップ
  • スコアには1行のナラティブ根拠を付す
  • 差分の判定とタイブレーク順は Model §5 を正典として参照

1-3. JDI(Just Do It:直線内で残余不確実性を内製処理)

  • しきい値(全て必須): 時間 ≤ 2h、Two‑way、Small、前提≤1、逸脱検知あり
  • 禁止領域: セキュリティ影響、規制遵守領域、PII/機微データ、本番構成変更、決済・金銭処理
  • 運用: JDIはADR/Consent不要。JDIログのみ(自動記録推奨)
  • 補足: Policy.JDIは上記の禁止領域チェックと軽量なConstraintチェックを内包して判定する

1-4. Cost of Delay(CoD)分類

  • High: 1週遅延で価値≥20%低下 or 法規/契約期限/大口機会逸失
  • Medium: 1週遅延で価値5–20%低下
  • Low: 1週遅延で価値<5%低下
    (相対運用で開始し、月次で見直し可)

1-5. WIP/ボトルネック/切替コスト

  • チーム人数 n
  • Explore WIP 初期: ceil(n/3)
  • 共有ボトルネック能力 W(例: レビュー可能PR/日)
  • Deliver WIP 上限: min(n, max(2W, ceil(n/2))) // W未成熟時の下限ガード
  • Wの初期標準: 不明な場合は 0.7 × レビューア人数/日 を仮置き
  • cost_switch=High は同一ドメインでバッチ化、または実効WIPを−1扱い

1-6. 再評価トリガー(自動)

  • KPI乖離 > 30% / 主要前提変更 ≥ 2件 / 重大欠陥・規制事象 / 外部ショック
  • 適用: 週中/週末のミニバッチで一括。緊急は即時(緊急イベントは即再評価フローへ)

1-7. Consent(意思決定スタイル)

  • 重大反対がなければ進める(Consent)を標準
  • 重大反対は Explore に戻す具体理由を伴う
  • ADR一行に署名者/反対なし(None)を記載

1-8. Rollback 必須条件

  • One‑way × Large / 本番影響 / ユーザー影響 > 5%

1-9. Constraint Gate

  • Policy.ConstraintCheck(item, ctx) をDecide前段で必須実行
  • NG時の処理: Reject(破棄)または Explore‑Legal(リーガル/セキュリティ検証として扱う)

1-10. Aging Rescue(飢餓救済)ポリシー

  • Policy.IsAgingRescue(item, ctx) = (Policy.CoD(item, ctx) == High) AND (AgeWeeks(item) ≥ 2) を既定とする
  • 実装: ラベル sla:rescue を自動付与し、候補生成と優先度計算の双方で考慮

2) アーティファクト(最小テンプレ)

ExperimentPlan(Hypothesis専用)

hypothesis_id: H-____
method: 調査 / プロト / インタビュー / 小実験(A/B等)
timebox: __h/日
exit_criteria: (例)失敗確率 50→25%に低下を示す/Top3障壁の特定
cost: __ 人時/日
risk_ethics_check: Yes/No(規制/安全/ブランド)
notes:

DeliverPackage(直線実行)

scope: タスク #__, #__, #__
DoR_ref: Ready(解像度__ /9)  # 各軸最低1点確認済
quality_checks: レビュー( ) / テスト( ) / 計測( )
release_steps: 手順__
rollback_plan: 方法__ / トグル__ / カナリア__
telemetry: 逸脱検知指標__

ADR(1行OK)

decision: Explore / Deliver / Pivot / Reject
reasons: ROI_E=__, ROI_D=__, tie-break=(可逆/被害/CoD/依存/TTK/REWORK)
assumptions: 前提__
revisit_triggers: KPI乖離>__% / 前提変更≥__件 / ____
signers: PM, TechLead, Design, Compliance / None

JDIログ(任意)

what: __
duration: __h
reversibility: Two‑way
blast_radius: Small
notes: __

StructurePlan(Sub‑Problem専用:短時間の構造化セッション用)

sub_problem_id: SP-____
cuts: 分割案(時間軸 / 構成要素 / 関係者 / 不確実性)
deps_graph: 主要依存(in/out)
prioritization: 優先案(Blocking Frontier / CoD / 依存クリティカリティ)
exploration_bundle: 探索エピック候補(束ねる仮説の一覧)
timebox: __ 分
exit_criteria: 子Hypothesis/TaskがReady(DoR基準適用)
notes:

3) ボード/ビュー(GitHub推奨)

レーン(Projects)

  • Backlog → Ready (Explore) → In Explore → Ready (Deliver) → In Deliver → Review/QA → Release/Monitor → Done

ラベル

  • type:hypothesis / type:task / type:sub-problem
  • action:explore / action:deliver
  • flag:blocking-frontier
  • risk:one-way / risk:large
  • cod:high / cod:med / cod:low
  • sla:rescue # 飢餓救済対象
  • status:aging-1w / status:aging-2w+ # 滞留指標

カスタムフィールド

  • DoR_score(0–9)、ROI_E(1–5)、ROI_D(1–5)、Reversibility(Two/One)、BlastRadius(S/M/L)、CoD(H/M/L)、WIP_slot、CostSwitch(L/M/H)、AgeWeeks(int)、TTK(h/d)、ReworkCost(L/M/H)

ガード(Actions等で自動化可)

  • Hypothesis と Task の混在禁止(型で分離)
  • ADR未記録のPRマージ禁止
  • One‑way×Large は Rollback/段階コミット/逸脱検知の記載必須
  • ConstraintCheck未通過のアイテムは着手不可
  • CoD=High かつ AgeWeeks≥2 のアイテムに sla:rescue を自動付与

ビュー例

  • Blocking Frontier: label:”flag:blocking-frontier” is:open
  • Explore進行: label:”action:explore” is:open
  • One‑way×Large: label:”risk:one-way” label:”risk:large”
  • SLA救済対象: label:”sla:rescue” is:open sort:updated-asc

4) ワークフロー/儀式

デイリー(15分)

  • Blocking Frontier の確認、WIP健全性チェック
  • 小さな未定義はJDI基準内なら即処理(ADR不要)。超えたらHypothesisに昇格
  • 高CoDアイテムのaging確認(sla:rescueの新規付与)

ミニバッチ(週中/週末 30–45分)
1) PM棚卸し(T/H/X)
2) 候補生成ガード(JDI直行の除外、DoR未達のTask昇格、Readyかつ非JDIのTask候補化、ブロックH/サブ課題抽出、One‑way×Large/依存クリティカル常時候補化、CoD=High/aging救済の候補化)
3) Blocking Frontier抽出(必須DU)
4) ROI_E/D採点(1–5、正規化/クリップ)→タイブレーク(Model §5)
5) WIP/ボトルネック/切替コスト/aging/CoD救済を考慮して割当(必須→任意、cost_switch=Highはバッチ化)
6) 実行パッケージ準備(ExperimentPlan/DeliverPackage/StructurePlan)
7) ADR一行を記録
8) ポートフォリオ健全性の確認(CoD高滞留/SLA逸脱)、PM更新とトリガー評価

レトロ(隔週 45分)

  • 手戻り・JDI誤用・ボトルネック・指標レビュー
  • 改善を“Task or Hypothesis”として登録

ゲート(One‑way×Large)

  • Rollback/段階コミット/逸脱検知の設計、Consent署名、ADRが必須
  • ConstraintCheck(法務/セキュリティ/ブランド)を通過するまでDeliver不可

緊急イベント

  • 重大障害/外部ショック発生時は、即時に再評価ループへ遷移(通常ミニバッチを待たない)

5) 導入90分オンボーディング(台本)

  • 0–10分:思想/モデルの要点(語彙、ROI序数、Blocking Frontier、Constraint Gate)
  • 10–25分:JDI/DoR/CoD/WIP 初期値を決める(Policy記入、Wの仮置き標準も設定)
  • 25–45分:Backlog10件をDoR判定→Hypothesis昇格→候補生成(One‑way×Largeの抽出)
  • 45–65分:ROI採点→タイブレーク→必須DU確定(aging/救済ルール確認)
  • 65–80分:ボード反映(レーン/ラベル/フィールド)、割当・WIP充足
  • 80–90分:ADR記録練習(2件)、ミニバッチ曜日設定

6) チェックリスト(運用安全柵)

候補生成ガード

  • [ ] DoR未満のTask→Hypothesisへ昇格
  • [ ] Readyかつ非JDIのTaskを候補化(Deliver側DUとして)
  • [ ] 依存でブロック中のH/サブ課題を候補化
  • [ ] One‑way×Large/依存クリティカルを常時候補化
  • [ ] CoD=High または sla:rescue(aging≥2バッチ)のH/サブ課題を候補化(飢餓回避)
  • [ ] JDI適合Taskは候補化せず直行(禁止領域チェック含む)

Blocking Frontier フィルタ

  • [ ] “今の前進を止める最小DU”を1〜数件に絞った
  • [ ] 強結合の核は探索エピックとして束ねる判断を検討

並列化基準

  • [ ] 依存グラフで独立な成分のみ並列
  • [ ] ExploreはWIPを絞る、Deliverはボトルネック能力に従う

ウォーターフォール点検(全YesでGo)

  • [ ] 要件凍結 / 利害整合 / 外部制約の変動低
  • [ ] 主要依存の不確実性は燃焼済
  • [ ] 可逆化(段階ゲート/フラグ/ロールバック)と最小逸脱検知を併設

安全柵

  • [ ] HypothesisとTaskの混在禁止
  • [ ] One‑way×Largeは可逆化・段階コミット・逸脱検知を強制
  • [ ] ADRなしの変更禁止
  • [ ] ConstraintCheck未通過の着手禁止
  • [ ] CoD=Highの連続2バッチ滞留は次バッチで必ず救済(sla:rescueで可視化)

7) 現場向け一枚サマリ

  • 決め方: 次の一手 = argmax{ ROI_E, ROI_D }(1–5)。差≥2→即断、差≤1→可逆性→被害→CoD→依存→TTK→REWORKで決める(Model §5)
  • DoR: 各軸≥1かつ合計≥7でTask、未達はHypothesis(Explore)
  • JDI: ≤2h・Two‑way・Small・前提≤1・逸脱検知(禁止: セキュ/規制/PII/本番/決済、ADR/Consent不要)
  • WIP: Explore=ceil(n/3)、Deliver=min(n, max(2W, ceil(n/2)))(W=共通ボトルネック能力、cost_switch=Highはバッチ化)
  • Blocking Frontier: 最小阻害単位にExplore、他はDeliver。One‑way×Large/依存クリティカルは前倒し燃焼
  • 飢餓回避: CoD高が2バッチ滞留したら次バッチで必ず割当

コメント

タイトルとURLをコピーしました