Issue #153 2026-03-27 PJ推進大全

PJ推進大全 — 5大分類×12工程

PJ推進の全工程ガイド・品質ゲート・推進ナレッジの統合ドキュメント。Issue #143 組織アーキテクチャからの切り出し別紙。
文書全体の構成
本文書の位置づけ: Issue #143 組織アーキテクチャ要件定義書の別紙。組織構造・Division定義・UC定義は #143 本体に記載済み。本文書はPJ推進にフォーカスした運用・実行レベルのガイドである。#143を参照せずとも本文書単体で運用可能な自己完結型とする。移行計画は Issue #154 で別管理。

9タブ構成

タブ名称内容対象読者
T1全体構成5大分類の全体マップ・用語・前提知識の整理全員
T2立ち上げ・要件定義工程1〜5:発見→調査→要求整理→要件定義→委託CEO / VDU / PMO
T3設計工程6:アーキテクチャ設計・IF定義VDU / PJM / architect
T4製造工程7:コード実装PJM / coder
T5テスト工程8〜9:テスト・受入レビューPJM / tester / VDU
T6移行工程10〜12:リリース・記録・解散PJM / PMO / CEO
T7PJM運用ガイドPJM生成・管理・Division間連携・エスカレーションPMO / PJM / VDU
T8品質ゲート各工程の通過条件・CEO承認ゲート・OA監査基準OA / VDU / PJM
T9推進ナレッジ案件ごとの知見蓄積・テンプレート・パターン集全員(随時追記)
5大分類 × 12工程 全体マップ
大分類
工程フロー
立ち上げ・要件定義
1発見 2調査 3要求整理 4要件定義 5委託
設計
6設計
製造
7実装
テスト
8テスト 9受入
移行
10リリース 11記録 12解散

各大分類の概要

立ち上げ・要件定義(工程1〜5)
課題発見から要件確定・委託までの上流工程。VDU主管。CEO承認ゲート2箇所(工程3・4)。
設計(工程6)
要件を技術設計に落とし込む。PJMがarchitectに委譲。VDUレビュー+OA監査。
製造(工程7)
設計に基づくコード実装。PJMがcoderに委譲。ruff・py_compileエラーゼロ必須。
テスト(工程8〜9)
品質保証と受入確認。テスト必須カバレッジ6項目。VDU受入レビュー。
移行(工程10〜12)
リリースから完了・知見蓄積まで。CEO承認ゲート(リリース時)。PJM消滅。
フェーズスキップ規則: 軽微な修正→工程6〜11のみ。中程度→工程1〜11。大規模→工程1〜12全工程。スキップ判断はVDUが行い、PMOが追認する。
前提:組織構造サマリ

本文書が前提とする組織構造を要約する(詳細は #143 本体を参照)。

四層構造

役割常駐/都度
CEO最終意思決定・MVV定義・社外折衝
IF層CEO専属窓口・要求言語化・ルーティング常駐
M層Division単位の責任者(判断と承認)常駐
W層スキルプール(実作業AI)都度起動→消滅

Division一覧

Division略称責務
1線(事業)Value Delivery UnitVDU事業/プロダクトの成果責任。要求発見→要件定義→受入
2線(管理)Business AdminBA経理・法務・調達
Project Management OfficePMOPJ推進・重複チェック・ナレッジ・資産管理
Human & AI ResourcesH&A採用・育成・評価・エージェント定義
3線(監査)Operational AuditOA業務プロセス・品質・横展開監査
System AuditSA死活監視・リソース管理・セキュリティ

PJ関連ロール

VDU 事業オーナー
PJの起点(発見〜要件定義)と終点(受入レビュー)を担う。技術的な成果物の品質に最終責任を持つ。
PMO PJ管理統括
PJ重複チェック、PJM生成・管理、ナレッジ蓄積、リソース配分の最適化。複数PJの優先度調整。
PJM プロジェクトマネージャー
PMOが生成する有期ロール。起案→工程管理→完了で消滅。W層を起動し各工程を実行管理する。
OA 独立監査
VDUレビューとは別の第三者監査。三線防御の原則に基づき、成果物の品質・プロセス遵守を独立検証。
用語定義
用語定義
PJ課題解決のために開始され、完了で終了する有期の活動単位
PJMPJ単位で生成される有期のプロジェクトマネージャー。PMOが生成し、工程管理を担い、PJ完了で消滅
CEO承認ゲートIF層経由でCEOの承認を取得する必須チェックポイント。スキップ不可
OA監査VDUレビューとは独立した第三者監査。三線防御の原則に基づく
NG差し戻し品質基準未達時にPJMへ修正指示とともに該当工程に戻す処理
三線防御1線(事業)・2線(管理)・3線(監査)の分離原則。同一主体が作成と監査を兼ねない
CONSULTM層がIF層経由でCEOに相談するステータス。判断に必要な情報が不足している場合に使用
立ち上げ・要件定義(工程1〜5)

課題発見から要件確定・委託までの上流工程。VDU主管。CEO承認ゲート2箇所。

目的

PJの起点となる課題・機会を発見し、技術的な実現可能性を調査した上で、要求をMECE分解し要件に落とし込む。最終的にPMOへPJ化を委託し、PJMを生成するまでがこのフェーズの責務。CEO承認ゲートを2箇所設け、スコープ・コストの合意を取得することで、後工程での手戻りを最小化する。

1 発見
概要
課題・機会を検出する。PJの起点。
トリガー
CEO指示 / VDU自律ループ / SA異常検知 / 日次経営会議
担当
VDU(課題の言語化・初期評価)
成果物
課題・機会の記述
異常系
既存PJとの重複 → PMOが検出・マージ判断 or 却下
次工程条件
課題が明確に記述されていること
2 調査
概要
技術的な実現可能性と既存資産の調査。
担当
VDU → W層(researcher)に委譲
成果物
技術調査レポート(実現可能性・既存資産・制約)
異常系
実現不可能 → CEO報告・代替案検討 or 中止
次工程条件
技術的に実現可能であることが確認されていること
3 要求整理
概要
要求をMECE分解し、優先順位を付ける。
担当
VDU
成果物
要求一覧(MECE分解・優先順位付き)
異常系
要求不明確 → CONSULT → CEO明確化
次工程条件
CEOが要求範囲を承認していること
CEO承認ゲート:要求範囲の合意
4 要件定義
概要
機能・非機能・制約を定義する。
担当
VDU → W層(architect)に委譲
成果物
要件定義書(機能・非機能・制約・コスト見積)
異常系
要件矛盾 → 工程3に戻る
次工程条件
CEOが要件を最終承認していること
CEO承認ゲート:要件の最終承認(コスト・スコープ合意)
5 委託
概要
VDUがPMOにPJ化を依頼し、PMOがPJMを生成する。
フロー
VDU → PMO(要件定義書を添付) → PMO(重複チェック・リソース確認) → PJM生成 → 工程計画策定
成果物
PJM CLAUDE.md、工程計画
異常系
リソース不足 → H&Aが優先度調整 → CEO報告
次工程条件
PJMが生成され、工程計画が策定されていること
この大分類の成果物
工程成果物
工程1: 発見課題・機会の記述
工程2: 調査技術調査レポート
工程3: 要求整理要求一覧(MECE分解・優先順位付き)
工程4: 要件定義要件定義書(機能・非機能・制約・コスト見積)
工程5: 委託PJM生成、工程計画
品質基準
CEO承認ゲート2箇所を通過すること:
・工程3: 要求範囲の合意
・工程4: 要件の最終承認(コスト・スコープ合意)
論点・注意事項
  • 要求の曖昧さ排除: MECE分解の徹底。曖昧な表現はCONSULTでCEOに明確化を依頼する
  • 既存PJとの重複検知: PMOの棚卸責務。工程5で重複チェックを必ず実施する
  • 実現可能性の早期判断: 工程2での技術調査を省略しない。不可能な要件は早期に除外する
  • CEO承認の粒度: 工程3は「何を作るか」の合意、工程4は「どこまで作るか+コスト」の合意
Division間連携
連携パターン工程内容
VDU → W層(researcher) 工程2 技術調査を委譲。調査結果を受け取り実現可能性を判断
VDU → W層(architect) 工程4 要件定義を委譲。機能・非機能・制約の定義を作成
VDUCEO 工程3・4 CEO承認ゲート。IF層経由で要求範囲・要件の最終承認を取得
VDUPMO 工程5 PJ化を依頼。要件定義書を添付してPJM生成を要求
PMO → H&A 工程5 W層リソースの確認・割当を依頼
SAVDU 工程1 SA異常検知をトリガーとした課題発見の連携
よくある失敗パターンと対策
失敗パターン原因対策関連工程
要件の曖昧さが後工程で手戻りを引き起こす MECE分解が不十分なまま工程4に進む 工程3でMECE分解を徹底。曖昧な表現はCONSULTでCEOに明確化を依頼 工程3
既存PJとの重複に気づかずPJ化 PMOの棚卸チェック未実施 工程5で必ずPMO重複チェックを実施。Issue一覧との突合 工程5
実現不可能な要件がそのまま進行 工程2の技術調査をスキップまたは形骸化 工程2ではresearcherに実機検証を含む調査を必ず委譲。「できると思う」は不可 工程2
CEO承認を取らずに設計に着手 承認ゲートの存在を見落とし Issue #102教訓。工程3・4のCEO承認ゲートは絶対にスキップしない 工程3・4
要件定義書にコスト見積が欠落 機能要件のみに注力し非機能・コストを後回し 工程4の成果物チェックリストにコスト見積を含める。CEO承認の判断材料 工程4
設計(工程6)

要件を技術設計に落とし込む。PJMがarchitectに委譲。

目的

要件定義書をもとに、アーキテクチャ設計・IF定義・ファイル構成・データモデルを策定する。セキュリティ・バイ・デザインの原則に従い、API設計(リソース所属検証)・データモデル(Int型金額)・UI設計(二重送信防止)を設計段階で組み込む。設計書はHTML形式で出力し、Cloudflare Pagesにデプロイして共有する。

6 設計
概要
アーキテクチャ設計・IF定義・ファイル構成を策定する。
担当
PJM → W層(architect)に委譲
入力
要件定義書(工程4成果物)、工程計画(工程5成果物)
成果物
設計書HTML(architect出力)— アーキテクチャ設計・IF定義・ファイル構成
異常系
・設計方針対立 → VDUが技術裁定
・OA監査NG → 修正指示付きで差し戻し
・要件不備発見 → 工程3/4に戻る
PJMチェック
設計が要件定義書の全項目をカバーしているか
成果物
成果物形式内容
設計書HTML(Markdown不可)アーキテクチャ設計・IF定義・ファイル構成・データモデル
品質基準
ゲート内容実行者
VDUレビューreviewer 25項目チェックリスト(セキュリティ5項目含む)VDU
OA監査プロセス遵守・セキュリティ・横展開チェックOA
論点・注意事項
  • 設計書はHTML形式で出力: Markdown不可。Cloudflare Pagesにデプロイして公開URLを共有する
  • セキュリティ・バイ・デザイン: API設計(リソース所属検証)・データモデル(Int型金額)・UI設計(二重送信防止)を設計段階で組み込む
  • 設計方針対立時のエスカレーション: PJM → VDU(技術裁定) → CEO(事業判断が必要な場合)
  • 非機能要件の設計反映: パフォーマンス(ページネーション・N+1防止)・スケーラビリティを設計書に明記する
よくある失敗パターンと対策
失敗パターン原因対策
セキュリティが後付けになる 機能設計のみに注力し、セキュリティ観点を後回し セキュリティ・バイ・デザイン: API設計時にリソース所属検証、データモデル設計時にInt型金額、UI設計時に二重送信防止を組み込む
設計書がMarkdownで出力される W層(architect)のデフォルト挙動 設計書は必ずHTML形式。Cloudflare Pagesにデプロイして公開URLを共有
要件定義書の全項目をカバーしていない設計 PJMチェックの形骸化 PJMが要件定義書と設計書の項目を1対1で突合。漏れがあれば差し戻し
N+1問題やページネーション未設計 機能要件のみで非機能要件を無視 設計書にパフォーマンス設計セクションを必須化。一覧系APIは必ずページネーション設計を含める
Division間連携
連携パターン内容
PJM → W層(architect) 設計を委譲。要件定義書と工程計画を入力として渡す
PJMVDU 設計方針対立時にVDUへ技術裁定を依頼
VDU → W層(reviewer) 設計書の25項目チェックリストによるレビュー
OA 独立第三者監査。プロセス遵守・セキュリティ・横展開チェック
製造(工程7)

設計に基づくコード実装。PJMがcoderに委譲。

目的

設計書に基づいてコードを実装し、単体テストを作成する。ruffフォーマット・py_compile構文チェックをエラーゼロで通過させ、品質の担保されたコードをコミットする。実装品質ルール(整数演算・リソース所属検証・fetchエラーハンドリング・二重送信防止)を遵守し、過去のインシデント(danketsu-app教訓)を踏まえた安全な実装を行う。

7 実装
概要
設計書に基づいてコードを実装する。
担当
PJM → W層(coder)に委譲
入力
設計書HTML(工程6成果物)
成果物
実装コード、単体テスト
異常系
・実装困難 → 工程6に戻る(設計見直し)
・構文エラー → 自己修正ループ(最大3回)
・3回失敗 → PJMにエスカレーション
PJMチェック
コミットが意味のある単位か、機密ファイル混入なし
成果物
成果物品質条件
実装コードruffフォーマット通過・py_compileエラーゼロ
単体テスト正常系・異常系のテストケース
品質基準
チェックツール通過条件
フォーマットチェックruffエラーゼロ
構文チェックpy_compileエラーゼロ
VDUレビュー25項目チェックリスト全項目OK
OA監査独立第三者監査重大NG無し
実装品質ルール(必須)

金額・数値計算

  • 金額の按分は整数演算のみ: Math.floor(amount / n) + 余り(amount % n)を先頭に加算
  • 除数が0になりうる箇所は事前にガード(空配列、フィルタ後の0件等)

API実装

  • リソース所属検証: ネストAPIでは子が親に属するか検証してからupdate/delete
  • 入力バリデーション: APIハンドラの先頭で型・範囲・必須チェック
  • エラーレスポンス: { error: "日本語メッセージ" }。内部情報を含めない

フロントエンド

  • fetchエラーハンドリング: res.okチェック + .catch()
  • 二重送信防止: disabled={submitting}
  • フォームページ: 戻るリンク・キャンセルボタン・エラーフィードバック必須
  • レスポンシブ: 390px幅で表示崩れなし
論点・注意事項
  • コミットルール: 意味のある単位で英語メッセージ。機密ファイル(.env, credentials)混入禁止
  • エラー時リカバリ: git stash退避 → クリーンツリー確認 → リトライ
  • worktree活用: 複数coder並行時はgit worktreeでファイル競合を回避
  • 自己修正ループ: py_compile → pytest → 失敗時は自力修正(最大3回) → 超過でエスカレーション
よくある失敗パターンと対策
失敗パターン原因対策
金額計算で1円の消失 Float除算の浮動小数点誤差 danketsu-app教訓。整数演算のみ使用: Math.floor(amount / n) + 余り加算
ネストAPIでクロスリソースアクセス可能 リソース所属検証の欠落 findFirst({ where: { id: childId, parentId: id } }) で必ず検証
fetch失敗時に画面クラッシュ res.okチェック漏れ fetchエラーハンドリング: res.okチェック + .catch() を必須化
テスト未実施で完了報告 LLMが推測で「テスト全PASS」と報告 Issue #102教訓。py_compile / pytest を実際に実行し、出力を引用して報告
機密ファイルのコミット混入 git add .で全ファイルをステージング コミット前に git diff --staged で .env / credentials の混入をチェック
Division間連携
連携パターン内容
PJM → W層(coder) 実装を委譲。設計書HTMLを入力として渡す
W層(coder) → PJM 実装困難時のエスカレーション。自己修正ループ3回失敗時に報告
PJM → W層(architect) 設計との乖離が発覚した場合、工程6に戻して設計修正を依頼
PJM(コミット管理) W層は単独pushしない。PJMがdiff確認後にpush判断
テスト(工程8〜9)

品質保証と受入確認。三線防御による多層チェック。

目的

実装されたコードの品質を多層的に検証する。テスト必須カバレッジ6カテゴリ(正常系・異常系・境界値・認可・レスポンシブ・クリーンアップ)を全て網羅し、VDU受入レビュー(25項目チェックリスト)で事業価値・品質の観点から最終確認を行う。W層の報告を鵜呑みにせず、M層レビュー原則に基づいた独自検証を実施する。

8 テスト
概要
テストケースの作成・実行。
担当
PJM → W層(tester)に委譲
入力
実装コード(工程7成果物)、設計書(工程6成果物)
成果物
テスト結果レポート(正常系・異常系・境界値・認可・レスポンシブ・クリーンアップ)
異常系
テスト失敗 → 工程7に戻る(coder修正)
PJMチェック
テスト網羅率が基準(6カテゴリ全網羅)を満たしているか
9 受入(VDU Rv)
概要
VDUが成果物を受入レビューする。
担当
VDU(reviewer 25項目チェックリスト使用)
入力
実装コード + テスト結果レポート
成果物
レビュー結果(OK / NG + 修正指示)
異常系
VDU差し戻し → PJMが修正指示 → 該当工程(6/7/8)に戻る
CEO承認ゲート:重要マイルストーン・外部影響あり(条件付き発動)
テスト必須カバレッジ(6カテゴリ)
カテゴリ内容
正常系期待される入力で期待される出力が返るかユーザー作成→200 OK
異常系不正入力・エラー状態で適切にハンドリングされるか必須項目未入力→422
境界値上限・下限・空・最大長の入力金額0円、文字列上限
認可他ユーザー・他リソースへの不正アクセスが拒否されるか別イベントの明細操作→403
レスポンシブモバイル表示でレイアウトが崩れないか390px幅でフォーム操作可能
クリーンアップテストデータが後片付けされるかテスト後にDBが汚染されない
品質基準
ゲート内容実行者
テスト網羅6カテゴリ全てに最低1ケースPJM(確認)
VDU受入レビュー25項目チェックリストOKVDU
論点・注意事項
  • ハッピーパスのみにならないこと: danketsu-app教訓。異常系・境界値・認可テストを必ず含める
  • 外部連携は実際に動かして検証: 「テスト全PASS」の推測報告は禁止。ツール実行結果を引用すること
  • 三線防御: VDUレビュー(1線) → OA監査(3線) → CEO承認(最終)
  • NG差し戻し時の修正指示: 具体的な修正箇所・期待する結果を明記する。「修正してください」のみは不可
よくある失敗パターンと対策
失敗パターン原因対策
ハッピーパスのみのテスト 正常系だけテストして異常系・境界値を無視 danketsu-app教訓。テスト必須カバレッジ6カテゴリ(正常系・異常系・境界値・認可・レスポンシブ・クリーンアップ)全てに最低1ケース
外部連携の検証省略 「動くはず」の推測で完了報告 外部API・サービス連携は実際に呼び出して結果を確認してから報告。ツール実行結果を引用
VDU受入レビューの形骸化 W層の「テスト全PASS」報告を鵜呑みにする M層レビュー原則: W層の報告を無条件に信頼しない。25項目チェックリストで独自検証
認可テストの欠落 クロスリソースアクセスのテストケースを作成しない 別ユーザー・別リソースへの不正アクセスが拒否されるテストケースを必須化
Division間連携
連携パターン工程内容
PJM → W層(tester) 工程8 テスト作成・実行を委譲。実装コードと設計書を入力として渡す
PJM → W層(coder) 工程8 テスト失敗時、coderに修正を依頼し工程7に戻す
PJMVDU 工程9 成果物をVDUに提出。VDUが25項目チェックリストでレビュー
VDUOA 工程9後 VDU受入完了をトリガーにOAが独立監査を開始(三線防御)
VDUCEO 工程9 重要マイルストーン・外部影響ありの場合、IF層経由でCEO承認を取得
移行(工程10〜12)

リリースから完了・知見蓄積まで。PJのクロージング。

目的

VDU受入OKの成果物を本番環境にデプロイし、PJの知見・教訓を推進ナレッジ(T9)に記録する。全成果物の完全性を確認した上でPJMを消滅させ、CEOに完了報告を行う。リリース時のCEO承認ゲート(main直接push・破壊的変更)を遵守し、ロールバック手順を事前に策定することで安全なデプロイを実現する。

10 リリース
概要
本番デプロイを実行する。
担当
PJM → W層(coder)に委譲
入力
VDU受入OK済みの実装コード
成果物
デプロイ完了報告
異常系
デプロイ失敗 → ロールバック判断
PJMチェック
M層がdiff確認後にpush判断
CEO承認ゲート:main直接push・破壊的変更・外部影響
11 記録
概要
PJの知見・教訓を記録する。推進ナレッジ(T9)に蓄積。
担当
PJM → W層(docs)に委譲
入力
PJ全工程の成果物・差し戻し履歴
成果物
PJ記録(ナレッジDB登録用)— T9のテンプレートに準拠
異常系
記録不備 → OAが横展開チェック時に発見
PJMチェック
記録が推進ナレッジテンプレート(T9参照)に準拠しているか
12 解散
概要
PJ完了確認、PJMを消滅させ、CEOに完了報告。
フロー
PMO: PJ完了確認 → PJMを消滅 → ナレッジをT9に登録
IF層: CEO完了報告
成果物
完了報告
異常系
完了後に問題発見 → 新PJ(工程1から新規起票)
成果物一覧
工程成果物
工程10: リリースリリース済みシステム、デプロイ完了報告
工程11: 記録ナレッジ記録(T9テンプレート準拠)
工程12: 解散完了報告
品質基準
CEO承認ゲート(リリース時): main直接push・破壊的変更・外部影響がある場合、CEO承認必須。force pushは原則禁止(CEO明示的承認必須)。

ナレッジ記録の完全性: T9テンプレートの全項目が記入されていること。

論点・注意事項
  • リリース前のCEO承認フロー: force push・main直接pushは禁止。W層単独pushも禁止(M層が判断)
  • ロールバック方針の事前策定: デプロイ前にロールバック手順を確認しておく
  • 知見の構造化: 随時追記可能な形式(T9のテンプレート)で記録する
  • PJM消滅のタイミング: PMOが全成果物・ナレッジ記録の完全性を確認してから消滅させる
よくある失敗パターンと対策
失敗パターン原因対策
force pushによるコード消失 コンフリクト解消時にforce pushを実行 force push原則禁止。CEO明示的承認必須。コンフリクトはgit pull --rebaseで解消
ナレッジ記録の未作成 リリース完了で達成感から記録を省略 工程11をスキップ不可。PMOが完了チェックリストで記録の有無を確認
ロールバック手順の未策定 デプロイ成功前提で進行 工程10開始前にロールバック手順を確認。失敗時の復旧手順を事前にPJMが策定
PJM消滅後に問題発覚 PMOの完了確認が不十分 PMOが全成果物・ナレッジ記録の完全性を確認してからPJMを消滅。問題発覚時は新PJとして工程1から起票
Division間連携
連携パターン工程内容
PJM → W層(coder) 工程10 デプロイを委譲。M層がdiff確認後にpush判断
PJMCEO 工程10 main直接push・破壊的変更の場合、PMO→IF層経由でCEO承認
SAPJM 工程10 デプロイ失敗をSAが検知し、PJMに通知。ロールバック判断を支援
PJM → W層(docs) 工程11 ナレッジ記録の作成を委譲。T9テンプレート準拠
PMO 工程12 PJ完了確認、PJMの消滅、ナレッジのT9登録。全成果物の完全性チェック
IF層CEO 工程12 CEO完了報告。PJ全体の結果サマリを提出
PJMのライフサイクル
PJMは有期ロール。PMOがPJ単位で生成し、PJ完了時に消滅する。PJMは独自の判断権を持つが、VDU(技術裁定)とPMO(リソース管理)の指示には従う。

生成〜消滅フロー

ステップ実行者アクション成果物
1. 生成要求VDU工程5(委託)でPMOにPJ化を依頼要件定義書(工程4の成果物)
2. 重複チェックPMO既存PJとの重複・類似を確認重複チェック結果
3. PJM生成PMOPJMインスタンスを生成、工程計画を策定PJM CLAUDE.md、工程計画
4. 工程実行PJM工程6〜11をW層に委譲しながら管理各工程の成果物
5. 完了報告PJM全工程完了をPMOに報告完了報告書
6. 消滅PMO完了確認後、PJMを消滅させるナレッジ記録
Division間連携ルール
ID連携パターントリガーフロー
UC-CROSS-001 VDUPMO 工程5(委託) VDUが要件定義書をPMOに渡す→PMOがPJM生成→PJMが工程6〜11を管理
UC-CROSS-002 VDUOA 工程9(受入)完了後 VDUの受入完了をトリガーにOAが独立監査を開始。三線防御の連携
UC-CROSS-003 SAVDU SA異常検知 SAが検知した異常をVDUに通知→VDUがW層に修正を委譲→修正PJ起票
UC-CROSS-004 SACEO リソース逼迫 SA閾値超過→IF層経由でCEO→PMOがPJ優先度調整
UC-CROSS-005 PJMVDU 設計方針対立 PJM内で技術判断が分かれた場合、VDUに技術裁定を依頼
通信ルール: IF層がM層の窓口。IF層がM層に指示を出し、結果を受け取る。M層間(VDU→PMO、OA←VDU等)は自律連携が許可されている。W層からM層への報告はPJM経由。
エスカレーション判断基準
条件起点対象対応判断根拠
技術実現不可 VDU CEO 代替案を提示し、CEO判断を仰ぐ researcher調査で不可能と判明
要求不明確 VDU CEO CONSULT→明確化してから工程3再開 MECE分解時に矛盾・欠落を検出
リソース不足 H&A CEO PJ優先度調整・新エージェント生成 CLI同時起動上限超過
設計方針対立 PJM VDU VDUが技術裁定(最終判断) architect間で方針が分岐
レート制限 SA システム exponential backoff(30s→60s→120s)、max3回 API応答429/529
プロセス異常 SA CEO 自動復旧試行→失敗時にCEO報告 プロセス停止・メモリ超過
OA監査NG(重大) OA CEO リリース差し止め→CEO判断 セキュリティ脆弱性・データ破損リスク
NG差し戻しフロー

品質基準未達時の差し戻しパターン。無限ループ防止のため、同一工程への差し戻しは最大3回。3回超過時はVDUにエスカレーション。

検知者NG種別差し戻し先修正指示要件上限
VDU(工程9) 受入NG 工程6/7/8(該当箇所に応じる) 具体的な修正箇所・期待する結果を明記 3回
OA 監査NG PJM→該当工程 監査項目ID・違反内容・是正要求を明記 3回
PJM(工程8) テスト失敗 工程7(実装) 失敗テストケース・エラー内容を明記 3回
PJM(工程7) 構文エラー 工程7(自己修正ループ) ruff/py_compileエラー出力を添付 3回
差し戻し上限超過時: PJMはVDUにエスカレーション。VDUが要件・設計の見直しを含めた判断を行う。根本原因が要件不備の場合は工程3/4に戻る可能性がある。
工程別チェックリスト

PJM用:工程開始前チェック

  • 前工程の成果物が揃っているか
  • 前工程の品質ゲートを通過しているか
  • 必要なW層のスキルが利用可能か(rate limit等で制約がないか)
  • 差し戻しの場合:前回の修正指示が明確に記述されているか
  • CEO承認ゲートの対象工程か(対象なら承認済みか確認)

PJM用:工程完了チェック

  • 成果物が定義されたフォーマットに準拠しているか
  • W層の成果物を自分(PJM)がレビュー済みか(W層報告を鵜呑みにしない)
  • コミットメッセージが英語で、意味のある単位か
  • 機密ファイル(.env, credentials等)が含まれていないか
  • ruff / py_compile がエラーゼロか
  • 次工程に渡すべき情報(申し送り)を整理したか

PMO用:PJM生成チェック

  • 要件定義書(工程4成果物)が添付されているか
  • 既存PJとの重複チェックを実施したか
  • PJM CLAUDE.mdが工程計画を含んでいるか
  • リソース(CLI同時起動数)に余裕があるか
  • フェーズスキップの妥当性を確認したか(軽微/中程度/大規模の判断)

PMO用:PJ完了チェック

  • 全工程の成果物が揃っているか
  • VDU受入レビューがOKか
  • OA監査(対象の場合)がOKか
  • ナレッジ記録(工程11成果物)が推進ナレッジテンプレートに準拠しているか
  • PJMの消滅処理が完了しているか
品質ゲート体系
品質ゲートは5種類。各ゲートは独立しており、該当ゲートを全て通過しないとリリースできない。

1. コミット・プッシュゲート

チェック項目ツール通過条件実行タイミング
フォーマットチェックruffエラーゼロコミット前
構文チェックpy_compileエラーゼロコミット前
機密ファイル混入チェックgit diff --staged.env, credentials, tokens未含コミット前
コミットメッセージ目視英語、意味のある単位コミット時
差分確認git diff --stagedM層がレビュー済みプッシュ前
最新取得git pull --rebaseリモートと同期済みプッシュ前
禁止事項: force push(CEO承認なしで絶対禁止)、main直接push(CEO承認必須)、W層単独push(M層判断必須)

2. W層成果物ゲート(VDUレビュー)

VDUが reviewer の25項目チェックリストを使用して成果物をレビューする。W層の報告を無条件に信頼しない(M層レビュー原則)。

セキュリティ必須チェック(5項目)

  • SQLインジェクション・XSS・コマンドインジェクションの脆弱性がないか
  • ネストAPIでクロスリソースアクセスが不可能か(リソース所属検証)
  • 認証・認可のバイパスが不可能か
  • 機密情報(APIキー、トークン)がハードコードされていないか
  • 入力バリデーションが全エンドポイントに適用されているか

金額計算チェック(3項目)

  • 金額フィールドがInt型か(Float/Decimal不可)
  • 除算で1円の消失が起きないか(整数演算のみ)
  • 合計と明細の整合性が保たれるか

エラーハンドリングチェック(3項目)

  • fetch失敗時に画面クラッシュしないか(res.okチェック)
  • API呼び出しにタイムアウト設定があるか
  • ユーザーに適切なエラーメッセージが表示されるか

UI/UXチェック(5項目)

  • フォームページに戻るリンク・キャンセルボタンがあるか
  • 送信ボタンに二重送信防止(submittingガード)があるか
  • エラーフィードバックがユーザーに表示されるか
  • モバイル(390px)で表示が崩れないか
  • 3箇所以上で使うコンポーネントが共通化されているか

3. OA監査ゲート

VDUレビューとは独立した第三者監査。三線防御の原則に基づき、VDUが見落とした問題を検出する。

監査カテゴリチェック内容NG時の対応
プロセス遵守12工程の手順が正しく踏まれているかPJMに差し戻し、工程をやり直し
品質基準コーディング規約・テスト網羅率が基準を満たしているかPJMに差し戻し、修正を指示
セキュリティOWASP Top 10の脆弱性がないかリリース差し止め→CEO報告
ドキュメントナレッジ記録が完備しているか工程11のやり直しを指示
横展開同種の問題が他のコードベースにないか追加PJの起票を提案
OA監査NG(重大)の場合: セキュリティ脆弱性・データ破損リスクが検出された場合、OAはリリースを差し止め、IF層経由でCEOに報告する。CEO判断を待つ。

4. CEO承認ゲート

工程ゲート名発動条件判断内容通信経路
3 要求範囲合意 常時(全PJ) スコープ・優先度が妥当か VDU→IF層→CEO
4 要件最終承認 コスト大・スコープ変更 コスト・スコープのトレードオフ VDU→IF層→CEO
9 重要マイルストーン 外部影響・不可逆な変更 事業影響の最終確認 VDU→IF層→CEO
10 リリース承認 main直接push・破壊的変更 リリース実行のGo/No-Go PJM→PMO→IF層→CEO
CEO承認の省略条件(Phase 3以降で検討): 低リスクPJ(内部ツール改善、ドキュメント更新等)については、実績に基づきVDU判断への委任を段階的に検討する。Phase 1〜2では全ゲートをスキップ不可とする。

5. セキュリティゲート

設計〜実装〜テスト全工程を通じたセキュリティ確保。セキュリティ・バイ・デザインの原則。

工程セキュリティチェック
工程6: 設計API設計(リソース所属検証)・データモデル(Int型金額)・UI設計(二重送信防止)
工程7: 実装ORMパラメータバインディング使用・サーバー側バリデーション・機密情報非露出
工程8: テスト認可テスト(クロスリソースアクセス拒否)・境界値テスト
工程9: 受入VDU セキュリティ5項目チェック
OA監査OWASP Top 10 独立検証
推進ナレッジ
目的: 案件ごとの知見を蓄積し、後続PJの品質・効率を向上させる。PJ完了時(工程11:記録)にPJMがdocsに作成を委譲し、PMOが管理する。

ナレッジ記録テンプレート

工程11(記録)で作成するナレッジ記録は以下のテンプレートに準拠する。

PJ概要
PJ名、Issue番号、開始日〜完了日、スコープの要約
工程サマリ
各工程の所要時間・差し戻し回数・特記事項
技術的判断
設計で採用した方針とその理由。却下した代替案とその理由
品質指標
NG差し戻し回数・OA監査指摘件数・テスト結果サマリ
問題と対処
発生した異常系パターン(T7の番号で参照)と実際の対処内容
学び・改善提案
次回以降のPJに活かすべき知見。プロセス改善の提案
関連資産
成果物のファイルパス、設計書URL、関連Issue番号

ナレッジの分類体系

分類内容
設計パターン 繰り返し使える設計判断・アーキテクチャパターン pydantic-settings の設定管理パターン、エラーハンドリング方針
アンチパターン 失敗した設計・実装パターンとその理由 金額計算でFloat使用→1円消失(danketsu-app教訓)
プロセス改善 工程の進め方で得た知見・改善案 テスト未実施で完了報告→手戻り発生(Issue #102教訓)
外部連携 外部API・サービスとの連携で得た知見 MS Graph APIのトークン更新タイミング、rate limit挙動
ツール・環境 開発ツール・環境に関する知見 Claude CLI の同時起動上限、worktreeのマージ注意点

蓄積済みナレッジ(初期登録)

過去のPJ・インシデントから得られた知見を初期ナレッジとして登録。

アンチパターン: 金額計算の浮動小数点
出典: danketsu-app レビュー(Issue #143 品質ゲート策定の契機)
問題: 精算計算でFloat除算を使用し、1円の消失が発生
対策: 金額フィールドは必ずInt型。除算は整数演算のみ許可
適用工程: 設計(工程6)・レビュー(工程9)
アンチパターン: ネストAPIのクロスリソースアクセス
出典: danketsu-app レビュー
問題: 別イベントの明細を操作可能だった(リソース所属検証なし)
対策: ネストAPIは子リソースが親に属するか必ず検証する
適用工程: 設計(工程6)・レビュー(工程9)
アンチパターン: テスト未実施の完了報告
出典: Issue #102
問題: 表面的実装→テスト未実施→revert。手戻りコスト大
対策: 外部連携は実際に動かして検証してから完了報告
適用工程: テスト(工程8)・記録(工程11)
アンチパターン: 結果捏造
出典: M層/W層運用で検出
問題: LLMが推測で「テスト全PASS」「ダウンロード成功」等を報告
対策: 実行結果は必ずツール(Bash等)を実際に呼び出して取得。推測で報告禁止
適用工程: 全工程
プロセス改善: 実装前の要件確認
出典: Issue #102
学び: 設計判断を含むタスクは、実装前にCEO承認を取得する
対策: 工程3(要求整理)・工程4(要件定義)のCEO承認ゲートを厳守
適用工程: 要求整理(工程3)・要件定義(工程4)
プロセス改善: Rate limit対策
出典: Issue #102/103
学び: exponential backoff + 再起動をまたぐ永続カウンタで無限ループ防止
対策: Task.retry_count(永続化)、合計上限MAX_RETRY_COUNT=3
適用工程: 全工程(SA監視対象)

ナレッジの運用ルール

項目ルール
登録タイミング工程11(記録)でdocsが作成。PMOがレビュー・登録
更新タイミング同種の問題が再発した場合、PMOが既存ナレッジを更新(重複登録しない)
参照タイミング工程5(委託)でPMOがPJM生成時に関連ナレッジを添付。工程6(設計)でarchitectが参照
保管場所本文書のT9セクション(随時追記)。将来的には構造化データベースへの移行を検討
廃止判定技術スタック変更等でナレッジが陳腐化した場合、OAの横展開チェック時に廃止提案

追記エリア

今後のPJ完了時に、この領域にナレッジカードを追加していく。
分類体系(設計パターン / アンチパターン / プロセス改善 / 外部連携 / ツール・環境)に従い、カードを追加する。

— 以下、PJ完了ごとに追記 —