ストーリー
ミッション概要
| ミッション | テーマ | 目安時間 |
|---|---|---|
| Mission 1 | チームトポロジーの設計 | 15分 |
| Mission 2 | プラットフォーム戦略の策定 | 15分 |
| Mission 3 | DX改善ロードマップの作成 | 15分 |
| Mission 4 | メトリクス体系の設計 | 15分 |
前提条件
企業: ヘルスケアSaaS「MediConnect」
事業: 医療機関向け患者管理・予約プラットフォーム
ユーザー: 病院200施設、クリニック3,000施設、月間100万予約
チーム: エンジニア45名(急成長中、半年前は25名)
現在の組織構造:
- フロントエンドチーム: 12名
- バックエンドチーム: 15名
- インフラチーム: 6名
- QAチーム: 5名
- データチーム: 4名
- モバイルチーム: 3名
現在の課題:
- 機能横断の調整コストが急増(会議が週20時間超)
- デプロイ頻度が6ヶ月前の月8回から月3回に低下
- 新メンバーの立ち上げに平均3ヶ月かかる
- インフラチームがボトルネック化(チケット待ち平均5日)
- QAチームの手動テストがリリースを遅延させている
- 障害対応が属人化している
ビジネス目標:
- 来年度に電子カルテ連携機能をリリース
- SaaS売上を2倍に拡大
- SOC 2 Type II 認証を取得
- 海外展開(台湾市場)の準備
Mission 1: チームトポロジーの設計(15分)
要件
現在の機能別組織からチームトポロジーに基づく組織構造へ再編してください。4つのチームタイプへの分類、各チームの責任範囲、インタラクションモードを定義すること。
解答例
Stream-aligned Teams(ストリームアラインドチーム):
| チーム名 | ドメイン | 人数 | 構成 |
|---|---|---|---|
| 予約チーム | 予約・スケジュール管理 | 7名 | FE2 + BE3 + Mobile1 + QA1 |
| 患者管理チーム | 患者情報・カルテ連携 | 7名 | FE2 + BE3 + Mobile1 + QA1 |
| 請求チーム | 請求・決済・保険連携 | 6名 | FE2 + BE3 + QA1 |
| 施設管理チーム | 医療機関管理・分析 | 6名 | FE2 + BE2 + Data2 |
Platform Team(プラットフォームチーム):
| チーム名 | 提供サービス | 人数 |
|---|---|---|
| Developer Platform | CI/CD、K8s、監視基盤、開発者ポータル | 8名 |
Enabling Team(イネーブリングチーム):
| チーム名 | 役割 | 人数 |
|---|---|---|
| SRE・品質イネーブリング | テスト自動化支援、SLO策定、インシデント対応プラクティス導入 | 4名 |
Complicated-subsystem Team(複雑サブシステムチーム):
| チーム名 | 担当領域 | 人数 |
|---|---|---|
| 医療データ連携 | HL7 FHIR、電子カルテAPI、医療データ標準化 | 5名 |
| セキュリティ・コンプライアンス | SOC 2対応、HIPAA準拠、暗号化基盤 | 2名 |
インタラクションモード:
| チーム間 | モード | 期間 | 理由 |
|---|---|---|---|
| 患者管理 × 医療データ連携 | Collaboration | 3ヶ月 | 電子カルテ連携の立ち上げ |
| 全ストリーム × Platform | X-as-a-Service | 継続 | CI/CD・インフラの提供 |
| SREイネーブリング × 各ストリーム | Facilitating | 各2週間 | テスト自動化の導入支援 |
| セキュリティ × 請求チーム | Facilitating | 1ヶ月 | SOC 2対応の支援 |
Mission 2: プラットフォーム戦略の策定(15分)
要件
プラットフォームチームが提供すべきIDPの構成要素、ゴールデンパス、セルフサービスのロードマップを設計してください。
解答例
IDP構成要素:
mediconnect_idp:
developer_portal:
tool: "Backstage"
features:
- "サービスカタログ(全マイクロサービスの一覧)"
- "APIドキュメント(OpenAPI自動生成)"
- "新サービステンプレート(NestJS / Next.js)"
- "オンボーディングガイド"
infrastructure_abstraction:
container_orchestration: "EKS(Kubernetes)"
database_provisioning: "RDS PostgreSQL テンプレート"
message_queue: "Amazon SQS / EventBridge"
secret_management: "AWS Secrets Manager"
ci_cd_platform:
pipeline: "GitHub Actions テンプレート"
security_scan: "Trivy + SonarQube"
test_automation: "Jest + Playwright テンプレート"
deployment: "ArgoCD(GitOps)"
observability:
logging: "CloudWatch Logs + OpenSearch"
metrics: "Prometheus + Grafana"
tracing: "AWS X-Ray"
alerting: "PagerDuty連携"
ゴールデンパス:
新マイクロサービスの立ち上げ(目標: 1時間以内):
1. Backstage テンプレートで新サービス作成(5分)
2. GitHub リポジトリ自動生成(CI/CD設定済み)
3. Kubernetes Namespace 自動プロビジョニング
4. RDS PostgreSQL インスタンス自動作成
5. Grafana ダッシュボード自動生成
6. PagerDuty アラートルール自動設定
7. コードをPush → 自動デプロイ
セルフサービス化ロードマップ:
| フェーズ | 期間 | レベル | 施策 |
|---|---|---|---|
| Phase 1 | Month 1-2 | L1→L2 | ドキュメント整備、Terraformモジュール化 |
| Phase 2 | Month 3-4 | L2→L3 | CLI ツール開発(medi platform create) |
| Phase 3 | Month 5-6 | L3→L4 | Backstage 導入、UIポータル提供 |
| Phase 4 | Month 7+ | L4維持 | フィードバック駆動の改善サイクル |
Mission 3: DX改善ロードマップの作成(15分)
要件
現在の課題(立ち上げ3ヶ月、デプロイ頻度低下、手動テスト)に対するDX改善ロードマップを作成してください。DXの3本柱(フィードバックループ速度、認知負荷軽減、フロー状態保護)をカバーすること。
解答例
dx_improvement_roadmap:
quick_wins_month1:
feedback_loop:
- "CI パイプラインの並列化(45分→15分)"
- "ローカルビルドのキャッシュ最適化"
cognitive_load:
- "Getting Started ガイドの作成"
- "環境変数の一元管理"
flow_state:
- "No Meeting Wednesday の導入"
- "Slack 非同期コミュニケーションルール策定"
foundation_month2_3:
feedback_loop:
- "Devcontainer 導入(全リポジトリ)"
- "E2Eテスト自動化(手動テストの50%を自動化)"
cognitive_load:
- "Backstage でサービスカタログ構築"
- "ADRテンプレート導入"
flow_state:
- "WIP制限の導入(1人最大2タスク)"
- "Definition of Ready の厳格化"
platform_month4_6:
feedback_loop:
- "GitOpsデプロイ(PR マージ→5分で本番反映)"
- "Feature Flag基盤(LaunchDarkly)"
cognitive_load:
- "ゴールデンパスの確立"
- "テンプレートからの新サービス作成"
flow_state:
- "オンボーディング30-60-90日プラン導入"
- "ペアプログラミング文化の定着"
target_metrics:
onboarding_time: "3ヶ月→1ヶ月"
deploy_frequency: "月3回→週3回"
ci_pipeline_time: "45分→10分"
developer_nps: "現状測定→50以上"
Mission 4: メトリクス体系の設計(15分)
要件
組織再編後のエンジニアリング効果性を測定するメトリクス体系を設計してください。DORA メトリクスと SPACE フレームワークを組み合わせ、ダッシュボード構成まで定義すること。
解答例
メトリクス体系:
| 階層 | 指標 | 現状 | 6ヶ月目標 | 12ヶ月目標 |
|---|---|---|---|---|
| DORA: デプロイ頻度 | 月3回 | 週2回 | 日次 | |
| DORA: リードタイム | 3週間 | 5日 | 1日 | |
| DORA: 変更失敗率 | 30% | 15% | 10% | |
| DORA: MTTR | 4時間 | 1時間 | 30分 | |
| SPACE-S: 開発者満足度 | 未計測 | 3.5/5.0 | 4.0/5.0 | |
| SPACE-P: Sprint達成率 | 60% | 80% | 85% | |
| SPACE-E: 中断なし時間 | 未計測 | 3時間/日 | 4時間/日 |
ダッシュボード構成:
engineering_dashboard:
tier1_executive:
audience: "経営層・月次レビュー"
metrics:
- "Feature Lead Time(企画→リリース)"
- "顧客影響インシデント数"
- "エンジニア離職率"
- "開発者NPS"
tier2_engineering_leadership:
audience: "EM・テックリード・週次レビュー"
metrics:
- "DORA 4 Key Metrics(チーム別)"
- "Sprint達成率(チーム別)"
- "PR レビュー待ち時間"
- "テストカバレッジ推移"
tier3_team:
audience: "各チーム・デイリー"
metrics:
- "ビルド成功率"
- "デプロイステータス"
- "フレイキーテスト数"
- "WIP数"
measurement_tools:
dora: "Four Keys(GitHub Actions + BigQuery)"
space_survey: "四半期DXサーベイ(Google Forms + Sheets)"
activity: "GitHub API + Grafanaダッシュボード"
アンチパターンの防止策:
| ルール | 理由 |
|---|---|
| メトリクスは個人評価に使わない | Goodhartの法則を防ぐ |
| 最低3次元から指標を選ぶ | 単一指標による歪みを防ぐ |
| チームが自ら指標を選ぶ | トップダウンの押しつけを防ぐ |
| 月次でメトリクス自体を振り返る | 形骸化を防ぐ |
達成度チェック
| ミッション | テーマ | 完了 |
|---|---|---|
| Mission 1 | チームトポロジーの設計 | |
| Mission 2 | プラットフォーム戦略の策定 | |
| Mission 3 | DX改善ロードマップの作成 | |
| Mission 4 | メトリクス体系の設計 |
まとめ
| ポイント | 内容 |
|---|---|
| チームトポロジー | 4つのチームタイプとインタラクションモードで組織を設計 |
| プラットフォーム | IDPとゴールデンパスで開発者のセルフサービスを実現 |
| DX | フィードバックループ、認知負荷、フロー状態の3本柱で改善 |
| メトリクス | DORA + SPACEで多角的に測定し、チーム改善に活用 |
チェックリスト
- チームトポロジーに基づく組織設計ができた
- プラットフォーム戦略とゴールデンパスを策定できた
- DXの3本柱を網羅したロードマップを作成できた
- DORA + SPACEを組み合わせたメトリクス体系を設計できた
次のステップへ
次はチェックポイントクイズです。エンジニアリング組織設計に関する理解度を確認しましょう。
推定読了時間: 60分