ストーリー
ミッション概要
| ミッション | テーマ | 目安時間 |
|---|---|---|
| Mission 1 | ステークホルダーマップの完成 | 15分 |
| Mission 2 | 品質属性シナリオの追加策定 | 15分 |
| Mission 3 | 制約一覧と影響分析 | 15分 |
| Mission 4 | 要件分析サマリーの統合 | 15分 |
Mission 1: ステークホルダーマップの完成(15分)
要件
Step 1-2で学んだステークホルダー分析を拡張し、以下を作成してください。
- 各ステークホルダーのアーキテクチャに対する具体的な要求を3つ以上記述
- ステークホルダー間の利害の対立を2つ以上特定
- 対立の解決方針を提案
解答例
ステークホルダー別のアーキテクチャ要求:
| ステークホルダー | アーキテクチャへの具体的要求 |
|---|---|
| CEO | 競合他社より先に投資機能をリリース。3ヶ月以内にMVP |
| CFO | 初年度インフラコストを2億円以下に。ユーザー単価を年々下げたい |
| CISO | すべてのカード情報をトークン化。CDE環境の完全分離。年1回のペネトレーションテスト |
| 開発チーム | マイクロサービスの過度な分割を避けたい。チームあたりの担当サービスは2-3個まで |
| SRE | インシデント対応の自動化率80%以上。深夜のオンコール頻度を月1回以下に |
| 加盟店 | 決済確認通知の遅延を3秒以内に。管理画面のレスポンスを1秒以内に |
利害の対立と解決方針:
| 対立 | ステークホルダーA | ステークホルダーB | 解決方針 |
|---|---|---|---|
| リリース速度 vs セキュリティ | CEO(3ヶ月でMVP) | CISO(完全なセキュリティ監査後にリリース) | MVP範囲を限定し、セキュリティクリティカルな機能(決済)は監査完了後にリリース。投資機能は段階的に開放 |
| コスト vs 可用性 | CFO(コスト最小化) | SRE(99.99%可用性) | ティアード可用性を採用。決済基盤は99.99%(高コスト)、管理画面は99.9%(低コスト)で差別化 |
Mission 2: 品質属性シナリオの追加策定(15分)
要件
Step 1-3で学んだフォーマットを使い、以下のシナリオを新規作成してください。
- 保守性に関するシナリオ(新機能追加のリードタイム)
- 相互運用性に関するシナリオ(外部銀行APIとの連携)
- テスト容易性に関するシナリオ(決済フローのE2Eテスト)
各シナリオは6要素すべてを記述すること。
解答例
# 保守性シナリオ
シナリオID: QA-MA-001
品質属性: 保守性
優先度: SHOULD
刺激源: プロダクトマネージャー
刺激: 新しい決済手段(暗号資産決済)の追加要求
環境: 通常の開発サイクル
成果物: 決済サービス
応答: 新しい決済アダプターを追加し、既存の決済フローに統合。
既存の決済手段に影響を与えない。
測定値:
- 実装期間: 2スプリント(4週間)以内
- 既存テストの破壊: 0件
- 影響範囲: 決済サービスの1モジュールに限定
# 相互運用性シナリオ
シナリオID: QA-IO-001
品質属性: 相互運用性
優先度: SHOULD
刺激源: 連携銀行のシステム更新
刺激: 銀行APIのバージョンがv2からv3にアップグレードされる
環境: 銀行側の移行期間(3ヶ月)
成果物: 送金サービスの銀行アダプター
応答: Anti-Corruption Layerにより、v2とv3の両方に対応。
内部のドメインモデルは変更不要。
測定値:
- 対応期間: 2週間以内
- 内部コード変更: アダプター層のみ
- 並行稼働期間: v2/v3を3ヶ月間並行サポート
# テスト容易性シナリオ
シナリオID: QA-TE-001
品質属性: テスト容易性
優先度: SHOULD
刺激源: QAチーム
刺激: 決済→残高反映→通知の一連のフローのE2Eテスト実行
環境: CI/CDパイプライン上
成果物: 決済サービス、アカウントサービス、通知サービス
応答: 外部依存(銀行API、カードネットワーク)をモック化した
E2Eテスト環境で、決済フロー全体を自動テスト
測定値:
- テスト実行時間: 10分以内
- テスト環境の構築: 5分以内(コンテナベース)
- カバレッジ: 主要フロー(決済成功、残高不足、タイムアウト)の100%
Mission 3: 制約一覧と影響分析(15分)
要件
NexPayプロジェクトの制約を以下のフォーマットで整理してください。
- 制約をHard/Firm/Softに分類
- 各制約のアーキテクチャへの具体的な影響を記述
- Firm/Soft制約について、交渉可能な範囲を提案
解答例
| ID | 制約 | レベル | アーキテクチャへの影響 | 交渉可能性 |
|---|---|---|---|---|
| CON-001 | PCI DSS Level 1 | Hard | CDE分離、トークン化、監査ログ | 交渉不可 |
| CON-002 | 資金決済法 | Hard | 供託管理、分別管理の勘定設計 | 交渉不可 |
| CON-003 | 犯収法(KYC/AML) | Hard | KYCゲートウェイ、AMLモニタリング | 交渉不可 |
| CON-004 | 既存システム互換2年 | Firm | ストラングラーフィグ、API Gateway | 互換期間を18ヶ月に短縮可能(加盟店への移行支援付き) |
| CON-005 | AWS利用 | Firm | AWSサービス中心の設計 | マルチクラウドは不可だが、CloudflareのCDN等は併用可能 |
| CON-006 | チーム50名 | Soft | サービス数はチーム数に合わせる | 段階的に60名まで増員可能(6ヶ月後) |
| CON-007 | 年間予算3億円 | Soft | ティアード可用性、コスト最適化 | 事業成長に伴い4億円まで増額交渉可能 |
| CON-008 | 2年でローンチ | Firm | 段階的リリース計画が必須 | MVPスコープの調整で実質18ヶ月での部分リリースに変更可能 |
Mission 4: 要件分析サマリーの統合(15分)
要件
Mission 1-3の成果を統合し、アーキテクチャ設計への入力となる要件分析サマリーを作成してください。
以下の構成で整理すること:
- プロジェクト概要(3行以内)
- アーキテクチャドライバー(優先順位付き上位5件)
- 品質属性シナリオサマリー(MUST項目のみ)
- 制約サマリー(Hard制約のみ)
- リスクと未解決事項
解答例
# NexPay 要件分析サマリー
## 1. プロジェクト概要
NexPayの次世代フィンテックスーパーアプリ(決済・送金・投資統合)を設計する。
1,000万ユーザー、10億件/月の取引、PCI DSS Level 1準拠、マルチリージョンが要件。
既存QRコード決済システムからの段階的移行を2年で完了する。
## 2. アーキテクチャドライバー(Top 5)
1. [MUST] PCI DSS Level 1準拠のセキュリティ設計
2. [MUST] 決済基盤の可用性99.99%
3. [MUST] 決済APIレスポンス p99 < 800ms
4. [MUST] 10,000 TPSのスループット
5. [MUST] 決済・送金・投資のシームレスな統合
## 3. 品質属性シナリオ(MUST)
- QA-AV-001: AZ障害時30秒以内のフェイルオーバー
- QA-SE-001: カード情報のトークン化、攻撃のリアルタイム検知
- QA-PE-001: 決済p99 < 800ms
- QA-PE-002: キャンペーン時3倍トラフィックへの5分以内スケールアウト
- QA-SC-001: 1,000万ユーザーへのリニアスケーリング
## 4. Hard制約
- PCI DSS Level 1(CDE分離、トークン化、監査ログ)
- 資金決済法(供託管理、分別管理)
- 犯収法(10万円超送金のKYC必須、AMLモニタリング)
## 5. リスクと未解決事項
- チームのマイクロサービス経験不足(教育計画が必要)
- 外部証券APIのSLAが未確定(投資機能の可用性設計に影響)
- マルチリージョンのデータレジデンシー要件が未確定
達成度チェック
| ミッション | テーマ | 完了 |
|---|---|---|
| Mission 1 | ステークホルダーマップの完成 | |
| Mission 2 | 品質属性シナリオの追加策定 | |
| Mission 3 | 制約一覧と影響分析 | |
| Mission 4 | 要件分析サマリーの統合 |
まとめ
| ポイント | 内容 |
|---|---|
| ステークホルダー分析 | 利害の対立を特定し、解決方針を提案する |
| 品質属性シナリオ | 6要素で定量的に記述し、検証可能にする |
| 制約分析 | Hard/Firm/Softに分類し、交渉可能性を明確化する |
| サマリー統合 | アーキテクチャ設計の入力として整理する |
チェックリスト
- ステークホルダー間の利害対立を特定し、解決方針を提案できた
- 保守性・相互運用性・テスト容易性のシナリオを策定できた
- 制約をHard/Firm/Softに分類し、交渉可能範囲を特定できた
- 要件分析サマリーを統合ドキュメントとして完成させた
次のステップへ
次はStep 1の理解度チェッククイズです。プロジェクト要件分析の理解度を確認しましょう。
推定読了時間: 60分