7-1. 前提条件の明示

このプロジェクトが成立するために必要な条件のリストを作成する。前提条件は「崩れたときにプロジェクト全体が揺らぐもの」を選ぶ。

前提条件例崩れた場合の影響
外部APIが公開されていることコア機能が実現不可能になる
一定の開発リソースが確保できることスケジュールが根本から崩れる
第三者ライブラリのライセンスが商用利用可能なこと法的リスクが発生する

⚠️ 定義しないと…

前提が崩れたときに誰も気づかないまま開発が進み、完成直前で根本的な設計変更が必要になる。

7-2. リスクの洗い出し

発生しうる問題・その影響度・対策のセットで管理する。リスクは「ゼロにする」ではなく「事前に把握して備える」ことが目的。

リスク影響度対策
外部APIの仕様変更手動入力フローを代替手段として維持
開発メンバーの離脱ドキュメントを充実させ属人化を防ぐ
セキュリティインシデント対応フロー・連絡先を事前に定義
外部サービスのコスト増代替サービスを事前にリストアップしておく

⚠️ 定義しないと…

問題が起きたときに「想定外だった」として対応が遅れる。事前に洗い出していれば即座に動けるところを、原因分析と対応策の検討から始めることになり、被害が拡大する。

リスクマトリクスの作り方

リスクは洗い出すだけでなく、優先度をつけて管理することが重要だ。発生確率と影響度の2軸でマトリクスを作り、優先的に対処すべきリスクを特定する。

影響度 \ 発生確率
最優先対処(リスク回避・転嫁)対処計画が必要モニタリング継続
対処計画が必要モニタリング継続受容可能
モニタリング継続受容可能受容可能

リスク対応策には4種類ある。「回避(リスクの原因を取り除く)」「軽減(影響を小さくする)」「転嫁(保険・外部委託等でリスクを他者に移す)」「受容(低リスクとして許容する)」の中から状況に応じて選択する。

憲章レビューチェックリスト

すべてに ✅ がつくまで、プロジェクトを開始しない。このリストは憲章の「完了の定義」でもある。

チェック項目対応セクション
✅ 目的が一文で説明できるPART 01 — 1-1
✅ 完了の定義(完成したと判断する基準)があるPART 01 — 1-2
✅ KPIが数値で定義されているPART 01 — 1-3
✅ 非ゴールが明示されているPART 01 — 1-4
✅ インスコープ・アウトオブスコープが明確に分かれているPART 02 — 2-1/2-2
✅ 将来候補(Phase N)として記録した要求があるPART 02 — 2-3
✅ 認証方式と理由が記載されている(認証ありの場合)PART 03 — 3-1
✅ パスワードハッシュ化・セッション管理方針がある(独自認証の場合)PART 03 — 3-2/3-3
✅ データ保護・削除方針が記載されている(個人データを扱う場合)PART 03 — 3-4/3-5
✅ 技術スタックとその選定理由があるPART 04 — 4-1
✅ 各フェーズに完了基準があるPART 06 — 6-1
✅ 前提条件とリスクが列挙されているPART 07 — 7-1/7-2
✅ 関係者全員が内容をレビュー・承認している全セクション

憲章は「作ること」が目的ではない

プロジェクト憲章は一度作ったら終わりではなく、状況が変わるたびに見直す「生きたドキュメント」として運用する。変更があれば全関係者への共有と再承認を行うことが重要。

リスク・前提条件管理でよくある失敗パターン

リスク管理は「リストを作って終わり」になりがちだ。実際に機能させるには継続的な更新とオーナー設定が不可欠。

失敗パターン何が起きるか防止策
リスクをリストアップするだけで対応策を書かないリスクが顕在化したとき「対応策がない」状態で緊急対応が始まり、影響が拡大する各リスクに「発生確率・影響度・対応策・オーナー」をセットで定義する
前提条件に変化があっても更新しない外部API仕様が変わったのに「変更なし」を前提にした設計が進み、詳細設計で発覚する週次の進捗会議で前提条件の変化を確認するアジェンダを設け、変化があれば即更新する
リスクオーナーを設定しない誰も監視していないリスクが静かに進行し、手遅れになってから発覚するリストの各リスクに「誰が監視・対応するか」を明記し、定例会議でステータスを確認する