EXERCISE 60分

ストーリー

佐藤CTO
チームトポロジー、プラットフォーム、DX、メトリクス — 全部つながっている
佐藤CTO
これらを統合して、成長するプロダクトに最適なエンジニアリング組織を設計してほしい。組織構造、インタラクションモード、プラットフォーム戦略、メトリクス体系まで一気通貫で考えてみよう

ミッション概要

ミッションテーマ目安時間
Mission 1チームトポロジーの設計15分
Mission 2プラットフォーム戦略の策定15分
Mission 3DX改善ロードマップの作成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 PlatformCI/CD、K8s、監視基盤、開発者ポータル8名

Enabling Team(イネーブリングチーム):

チーム名役割人数
SRE・品質イネーブリングテスト自動化支援、SLO策定、インシデント対応プラクティス導入4名

Complicated-subsystem Team(複雑サブシステムチーム):

チーム名担当領域人数
医療データ連携HL7 FHIR、電子カルテAPI、医療データ標準化5名
セキュリティ・コンプライアンスSOC 2対応、HIPAA準拠、暗号化基盤2名

インタラクションモード:

チーム間モード期間理由
患者管理 × 医療データ連携Collaboration3ヶ月電子カルテ連携の立ち上げ
全ストリーム × PlatformX-as-a-Service継続CI/CD・インフラの提供
SREイネーブリング × 各ストリームFacilitating各2週間テスト自動化の導入支援
セキュリティ × 請求チームFacilitating1ヶ月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 1Month 1-2L1→L2ドキュメント整備、Terraformモジュール化
Phase 2Month 3-4L2→L3CLI ツール開発(medi platform create
Phase 3Month 5-6L3→L4Backstage 導入、UIポータル提供
Phase 4Month 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: MTTR4時間1時間30分
SPACE-S: 開発者満足度未計測3.5/5.04.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 3DX改善ロードマップの作成
Mission 4メトリクス体系の設計

まとめ

ポイント内容
チームトポロジー4つのチームタイプとインタラクションモードで組織を設計
プラットフォームIDPとゴールデンパスで開発者のセルフサービスを実現
DXフィードバックループ、認知負荷、フロー状態の3本柱で改善
メトリクスDORA + SPACEで多角的に測定し、チーム改善に活用

チェックリスト

  • チームトポロジーに基づく組織設計ができた
  • プラットフォーム戦略とゴールデンパスを策定できた
  • DXの3本柱を網羅したロードマップを作成できた
  • DORA + SPACEを組み合わせたメトリクス体系を設計できた

次のステップへ

次はチェックポイントクイズです。エンジニアリング組織設計に関する理解度を確認しましょう。


推定読了時間: 60分