チーム認知負荷

英語名 Team Cognitive Load
読み方 チーム コグニティブ ロード
難易度
所要時間 1〜3時間
提唱者 Team Topologies (Matthew Skelton & Manuel Pais, 2019) の中核概念
目次

ひとことで言うと
#

チームが担うドメイン知識・技術スタック・外部依存関係などの認知的な負担の総量を可視化・計測し、チームのキャパシティを超えていないかを診断するフレームワーク。『チームトポロジー』のスケルトンとパイスが提唱した概念で、チームが過負荷になると意思決定の質が下がり、デリバリーが遅延し、メンバーが疲弊することを前提に、負荷の適正管理をチーム設計の中心に据える。

押さえておきたい用語
#

押さえておきたい用語
認知負荷(Cognitive Load)
ある作業を遂行するために必要な精神的な処理量のこと。心理学者ジョン・スウェラーの認知負荷理論に由来する。チーム文脈では、チームが理解・記憶・判断すべき情報の総量を指す。
内在的認知負荷(Intrinsic Cognitive Load)
タスクそのものの本質的な複雑さに起因する負荷。ドメインの難しさ、コードベースの複雑さなど。
外在的認知負荷(Extraneous Cognitive Load)
タスク遂行に本来不要だが、環境やプロセスのせいで発生する余計な負荷。ドキュメント不足、ツールの乱立、不明確なプロセスなど。削減すべき第一ターゲット。
チームトポロジー(Team Topologies)
ストリームアラインドチーム・プラットフォームチーム・イネーブリングチーム・コンプリケイテッドサブシステムチームの4類型でチーム構造を設計するアプローチ。認知負荷の管理が設計原則の中心にある。

チーム認知負荷の全体像
#

チーム認知負荷:3種類の認知負荷とチームキャパシティの関係
チーム認知負荷の構成チームの認知キャパシティ上限内在的認知負荷外在的認知負荷学習的負荷超過!内在的認知負荷ドメインの本質的な複雑さに由来簡単には削減できない外在的認知負荷環境・プロセスに由来する余計な負荷最優先で削減すべき学習的認知負荷新しいスキル・知識を獲得するための負荷むしろ確保したい理想の負荷バランス内在的(必要最小限)外在学習に余白を確保外在的負荷を削減 → 学習の余白が生まれる認知負荷の総量 ≦ チームのキャパシティ を維持する評価方法: チームメンバーに「担当領域を新人に説明できるか?」と問う→「説明しきれない」なら認知負荷が過大なサイン
チーム認知負荷管理の進め方フロー
1
負荷の棚卸し
チームが担う領域・技術・依存関係を列挙
2
負荷の分類と計測
内在的・外在的・学習的に分類し重さを評価
3
外在的負荷の削減
余計なプロセス・ツール・依存を取り除く
チーム境界の再設計
負荷超過ならチーム分割や責任移管を実行

こんな悩みに効く
#

  • チームの担当範囲が広がり続け、メンバーが「何でも屋」になって疲弊している
  • デリバリーのスピードが落ちているが、原因が人手不足なのかチーム設計なのか分からない
  • チームを分割すべきタイミングの判断基準がない
  • 新しい技術やドメインを学ぶ余裕がなく、チームの技術的成長が停滞している

基本の使い方
#

チームが担っている認知負荷を棚卸しする

チームが理解・記憶・判断すべきすべてのものをリストアップする。

  • ドメイン知識: 担当するビジネス領域の数。1チーム1〜2ドメインが理想
  • 技術スタック: 使っている言語、フレームワーク、インフラの数
  • コードベース: 所有するリポジトリやサービスの数・規模
  • 外部依存: 他チームとのAPI連携、共有データベース、承認プロセスの数
  • ツール・プロセス: CI/CD、モニタリング、チケット管理など日常的に使うツール群
3種類の認知負荷に分類し重さを評価する

棚卸した項目を「内在的」「外在的」「学習的」に分類し、各項目の負荷の重さを高・中・低で評価する。

  • 内在的(本質的な複雑さ): ドメインのルール、アルゴリズムの複雑さ、法規制の理解
  • 外在的(環境に起因する余計な負荷): ドキュメント不足で毎回人に聞く、レガシーコードの解読、不明確な承認フロー
  • 学習的(成長のための負荷): 新技術の習得、ドメイン知識の深化
  • チームメンバーに「自分の担当領域を新人に1時間で説明できるか?」と問う。「無理」なら負荷過大のサイン
外在的認知負荷を最優先で削減する

外在的負荷は本来不要なものなので、最初に削減ターゲットにする。

  • ドキュメント整備: 「毎回人に聞かないと分からないこと」を文書化する
  • ツールの統合・削減: 用途が重複するツールを整理する
  • プロセスの簡素化: 形骸化した承認フローや会議を廃止する
  • 依存関係の削減: 他チームへのリクエスト待ちが頻発するなら、APIの自律的な利用やセルフサービス化を検討
負荷超過が続くならチーム境界を再設計する

外在的負荷を削減しても総量がキャパシティを超えるなら、チーム構造の変更を検討する。

  • チーム分割: 1チームが3ドメイン以上を持っているなら、ドメイン境界で分割する
  • 責任の移管: 特定の技術的な複雑さをコンプリケイテッドサブシステムチームに切り出す
  • プラットフォームチームの新設: 全チームが共通で苦労しているインフラ・ツーリングを専門チームに集約する
  • イネーブリングチームの活用: 新技術の導入支援を専門チームに依頼し、学習負荷を分散する

具体例
#

例1:マイクロサービス化で膨張した認知負荷を整理する

従業員200名のEC企業。3年前にモノリスをマイクロサービスに分割し、28個のサービスが稼働していた。開発チームは4チーム(各5〜7名)で、1チームあたり平均7サービスを担当。

デプロイ頻度は分割直後に向上したが、最近は再び低下。原因を探ると、各チームが担当サービスの全容を把握しきれず、変更の影響範囲の調査に時間がかかっていた。

認知負荷の棚卸し結果:

  • ドメイン知識: 1チームあたり3〜4ドメイン(注文、在庫、配送、決済が混在)
  • 技術スタック: Go、Python、Node.jsの3言語が混在
  • 外部依存: チーム間のAPI呼び出しが平均12本

対策:

  • ドメイン境界でチームを再編: 4チーム→6チームに分割し、1チーム1〜2ドメインに
  • 言語の標準化: 新規開発はGoに統一(既存のPython/Nodeは段階的に移行)
  • プラットフォームチーム新設: CI/CD、モニタリング、共通ライブラリを1チームに集約

6か月後、デプロイ頻度は週3回→週8回に回復。チームメンバーへの調査で「自分の担当領域を新人に説明できる」と回答した割合は**35%→78%**に改善した。

例2:カスタマーサクセスチームの「何でも屋」を解消する

BtoB SaaS企業のカスタマーサクセスチーム10名。オンボーディング、技術サポート、契約更新、アップセル提案、顧客データ分析、社内へのフィードバックの6つの機能を全員が兼任していた。

メンバーの疲弊が深刻化し、離職率は年30%。マネージャーは「人が足りない」と増員を要求していたが、直近1年で3名採用しても状況は改善しなかった。

認知負荷を分析すると、問題は人数ではなく負荷の種類の多さだった:

  • 内在的負荷: 製品知識(機能200以上)、顧客業種ごとのドメイン知識(8業種対応)
  • 外在的負荷: CRM・チャットツール・分析ツールなど9つのツールを常時使い分け、ナレッジベースが更新されておらず毎回Slackで質問
  • 学習的負荷: 月1回の製品アップデートへの追従がほぼ不可能

対策:

  • 外在的負荷削減: ツールを9→5に統合。ナレッジベースを1か月かけて全面更新
  • チーム分割: 「オンボーディング専任(3名)」「既存顧客担当(5名)」「テクニカルサポート(2名)」に機能分割
  • 顧客業種を「IT・金融」「製造・小売」「その他」の3グループに分け、担当者のドメイン知識を集中

1年後、離職率は30%→8%に激減。CSAT(顧客満足度)も4.0→4.5(5点満点)に改善。増員せずに対応可能な顧客数が15%増加した。

例3:スタートアップの初期チームが負荷限界を見極めてスケールする

シード期のスタートアップ(エンジニア6名の1チーム)。プロダクト開発に加え、インフラ構築、カスタマーサポート、データ分析、採用面接まで全員が担当していた。

プロダクトのPMFが見え始め、ユーザー数が月40%で成長する中、開発速度が急激に低下。バグ対応とカスタマーサポートに時間を取られ、新機能の開発が月2本→月0.5本に激減していた。

CTOが認知負荷の棚卸しを実施:

  • 1チームが担うドメイン: 4つ(ユーザー管理、決済、コンテンツ配信、分析)
  • 技術スタック: React、Next.js、Go、PostgreSQL、AWS 15サービス
  • 外在的負荷の最大要因: カスタマーサポート対応(エンジニアが日替わりで担当、1日平均2.5時間消費)とインフラの手動運用

段階的に対策を実行:

  1. 即効策(1週目): カスタマーサポートをCSチームに移管。FAQを整備し、エンジニアへのエスカレーションを技術的なバグのみに限定 → エンジニアの可処分時間が日2.5時間回復
  2. 短期策(1か月): インフラをTerraformでIaC化し、手動運用を80%削減
  3. 中期策(3か月): シリーズA調達後にプラットフォーム専任エンジニア2名を採用。6名のチームは「決済・ユーザー管理」と「コンテンツ・分析」の2チームに分割

半年後、新機能のデリバリーは月0.5本→月3本に回復。チーム分割の判断基準として「1チームが担うドメイン数が3を超えたら分割を検討する」というルールを定着させた。

やりがちな失敗パターン
#

  1. 「人を増やせば解決する」と考える — 認知負荷の問題はチームの責任範囲と構造の問題。人を増やしてもドメインの数やツールの複雑さは減らない。まず負荷の種類を特定してから採用判断する
  2. 内在的負荷と外在的負荷を区別しない — すべてを「仕事が大変」で片付けると打ち手が見えない。外在的負荷(余計な複雑さ)は削減でき、内在的負荷(本質的な複雑さ)はチーム境界の再設計で対処する
  3. チーム分割だけで解決しようとする — 分割するとチーム間のコーディネーションコストが新たな外在的負荷になる。分割と同時にAPIの契約やコミュニケーションパスを設計する
  4. 学習的負荷をゼロにしようとする — 外在的負荷を削った余白は、新しい技術やドメイン知識の学習に充てるべき。学習負荷をゼロにするとチームの成長が止まる

まとめ
#

チーム認知負荷は、チームが担うドメイン・技術・プロセス・依存関係の総量を可視化し、キャパシティの範囲内に収めることを目指すフレームワークだ。鍵は3種類の認知負荷を区別すること。外在的負荷(環境やプロセスに起因する余計な複雑さ)を最優先で削減し、学習的負荷(成長のための投資)の余白を確保する。それでも総量がキャパシティを超えるなら、チーム分割や責任移管でチーム境界を再設計する。「メンバーが自分の担当領域を新人に説明できるか」というシンプルな問いが、負荷の過不足を測る最も実用的なリトマス試験紙になる。