本文へ移動

ホーム / EM / 第5部 人とチーム

第5部 人とチーム・第12章

チームの設計

★★☆ 重要5トピック・面接 3問

チームの形・チーム同士の関わり方・チームの中の約束事を設計するための知識を押さえる。

ひとことで

チームの分け方がシステムの分け方に影響する(コンウェイの法則)。認知負荷を考えて分ける。

コンウェイの法則とは、「システムの構造は、それを作る組織のコミュニケーションの構造に似る」というものです。3つのチームで作ると3つの部品に分かれた設計になりやすい、ということです。逆に、望むシステムの形に合わせてチームを分ける考え方を「逆コンウェイ戦略」と呼びます。

チームトポロジー

書籍『チームトポロジー』は、チームを4つの型に分け、認知負荷(チームが理解して扱わなければならない量)が大きくなりすぎないように分けることをすすめています。

チームの型役割
ストリームアラインドチーム1つの製品・機能・利用者の流れを、企画から運用まで担う。多くのチームはこれ
プラットフォームチームCI/CD・基盤・共通の部品を「使えば済むサービス」として提供し、他のチームの負担を減らす
イネイブリングチーム専門知識(テスト・セキュリティなど)を持ち、他のチームが身につけるまで一時的に支援する
コンプリケイテッド・サブシステムチーム高度な専門知識が必要な部分(検索の仕組み・動画の処理など)を担う
チームトポロジーの4つの型と関わり方ストリームアラインド(製品 A)ストリームアラインド(製品 B)ストリームアラインド(製品 C)イネイブリング専門知識で一時的に支援難解なサブシステム検索・動画などプラットフォームCI/CD・基盤を使えば済む形で提供期間限定でX-as-a-Service(提供して使ってもらう)ファシリテーション(学びを手伝う)コラボレーション(一緒に作る)
ほかの3つの型は、ストリームアラインドチームの認知負荷を減らすためにある

チームの人数は5〜9人ほどが目安とされることが多いです。1チームが受け持つサービスやドメインが多すぎて「誰も全体を分かっていない」なら、分けるか、プラットフォームに任せられる部分がないかを考えます。

チームをまたぐ協力のしかた

面接ではこう答える

コンウェイの法則は、システムの構造はそれを作る組織のコミュニケーションの構造に似る、という考え方です。逆に、望むシステムの形に合わせてチームを分ける考え方を逆コンウェイ戦略と呼びます。チームの分け方は、書籍『チームトポロジー』の4つの型、つまり利用者の流れを担うストリームアラインド、基盤を提供するプラットフォーム、学びを支援するイネイブリング、専門的な部分を担うコンプリケイテッド・サブシステムを参考にし、チームの認知負荷が大きくなりすぎないようにしています。

ひとことで

チーム同士の関わり方を、コラボレーション・X-as-a-Service・ファシリテーションの3つに分け、今どれかを明示する。

チーム同士の3つの関わり方コラボレーション期間を決めて一緒に作るX-as-a-ServiceAPI・ツールとして提供して使うファシリテーション他チームの学びを手伝う探索が終わったら今どの関わり方なのかを、両方のチームで明示しておく
ずっとコラボレーションのままだと、境目があいまいになる

チームどうしの関わり方も3つに分けて、今どれなのかを明示します。

  • コラボレーション:期間を決めて一緒に作る。新しいことを探るとき向き。ずっと続けると境目があいまいになる。
  • X-as-a-Service:片方が API やツールとして提供し、もう片方は使うだけ。安定したら目指す形。
  • ファシリテーション:イネイブリングチームが、他のチームの学びを手伝う。

実務では、依存しているチームと四半期の計画を一緒に見る、API の約束(仕様・変更の予告期間)を文書にする、他チームへの依頼はチケットで受けて優先度を見えるようにする、といった工夫が効きます。

面接ではこう答える

チーム同士の関わり方は、期間を決めて一緒に作るコラボレーション、片方が API やツールとして提供してもう片方は使うだけの X-as-a-Service、他チームの学びを手伝うファシリテーションの3つに分けて考えます。新しいことを探る間はコラボレーション、安定したら X-as-a-Service を目指すのが基本です。今どの関わり方かをはっきりさせないと、責任の境目があいまいになり、依頼や障害の対応でもめるので、両方のチームで明示しておきます。

12.3心理的安全性

用語★★☆ 重要
ひとことで

失敗や疑問、反対意見を口にしても、ばかにされたり罰せられたりしないと思えるチームの状態。高い基準と両立させる。

心理的安全性と、基準の高さ不安基準は高いが言えない学習するチーム言えて、基準も高い無関心どちらも低いぬるま湯言えるが、基準が低い基準の高さ(高 → 低)心理的安全性(低 → 高)
心理的安全性は「ぬるさ」ではない。高い基準と両立させる

心理的安全性とは、失敗や疑問、反対意見を口にしても、ばかにされたり罰せられたりしないと思えるチームの状態です。エイミー・エドモンドソンが研究し、Google の社内調査(プロジェクト・アリストテレス)で、成果を出すチームに最も大事な要素として挙げられたことで広く知られました。

EM の行動例
自分の失敗や「分からない」を先に言う「この設計の判断は私の見落としでした」
質問や反対を歓迎する「その懸念、もう少し聞かせてください」と返す
悪い知らせを持ってきた人に感謝する障害の報告に「早く教えてくれて助かった」
発言の機会を配る会議で、話していない人に意見を聞く
人ではなく仕組みを問うポストモーテムを責めない形で行う

心理的安全性は「何でも許される」ことではありません。高い基準を求めることと、それを言い合えることの両方がそろって、学習するチームになります。

面接ではこう答える

心理的安全性は、失敗や疑問、反対意見を口にしても、ばかにされたり罰せられたりしないと思えるチームの状態です。Google の社内調査で、成果を出すチームに最も大事な要素として挙げられたことで広く知られました。ただし、何でも許されるぬるい状態のことではなく、高い基準を求めながら、それについて率直に言い合える状態を目指します。私は、自分の失敗を先に話すこと、悪い知らせを持ってきた人に感謝することを意識しています。

人数とやりとりの組み合わせ3人3通り5人10通り8人28通り12人66通りやりとりの組み合わせは n×(n-1)÷2。人数が倍になると、約4倍になる目安を超えたら、分けることを考える
人数が増えるほど、話し合い・情報共有にかかる手間が急に増える

チームの人数は5〜9人ほどが目安とされることが多いです。人数が増えると、メンバー同士のやりとりの組み合わせが急に増え、会議が長くなり、決めるのに時間がかかります。

分けることを考えるサイン中身
人数10人を超えて、スタンドアップや計画の会議が回らない
担当の広さ受け持つサービス・ドメインが多く、誰も全体を分かっていない
リリースの詰まり別々の機能の作業が、同じリリースや同じコードで待ち合う
EM の負担1on1 の人数が多く、1人ひとりに時間を使えない

分けるときは、利用者の流れや機能のまとまりで分けるのが基本です(フロントエンド・バックエンドのような技術の層で分けると、1つの機能に2チームの調整が必要になります)。分けたあとも、オンコールや共通の部品を誰が持つかを決めておきます。

チームの約束事(ワーキングアグリーメント)は、「言わなくても分かるはず」をなくすための、チームで決めた短いルールです。新しい人が入ったときにも、すぐにチームのやり方が分かります。

テーマ約束事の例
連絡急ぎはメンションをつける。返事は勤務時間内で半日以内を目安に
集中火曜と木曜の午後は会議を入れない
レビュー最初の反応は半日以内。コメントに「必須」「提案」を付ける
会議議題のない会議は開かない。決まったことはチャンネルに書く
働き方コアタイム、リモートと出社の日、休みの共有のしかた
  • チーム全員で話し合って決める。EM が一方的に決めない。
  • 数は10個以内に。多いと覚えられない。
  • ふりかえりで、守れていないものは「なぜか」を話し、変えるか消す。

この章のまとめ

🖨 まとめシート(印刷・PDF)
  • チームの分け方はシステムの分け方に影響する(コンウェイの法則)
  • チームの認知負荷が大きくなりすぎないように分ける
  • 心理的安全性と高い基準は両立させるもの
  • コンウェイの法則とチームトポロジー:チームの分け方がシステムの分け方に影響する(コンウェイの法則)。認知負荷を考えて分ける。
  • チームをまたぐ協力のしかた:チーム同士の関わり方を、コラボレーション・X-as-a-Service・ファシリテーションの3つに分け、今どれかを明示する。
  • 心理的安全性:失敗や疑問、反対意見を口にしても、ばかにされたり罰せられたりしないと思えるチームの状態。高い基準と両立させる。

この章のクイズ

面接ではこう聞かれる

まず答えを見ずに声に出して答え、そのあと開いて比べる。

Q1コンウェイの法則とは何ですか? チームの分け方にどう生かしますか?

模範回答

コンウェイの法則は、「システムの構造は、それを作る組織のコミュニケーションの構造に似る」というものです。3つのチームで作ると、3つの部品に分かれた設計になりやすい、ということです。

これを逆に使い、望むシステムの形に合わせてチームを分けることを「逆コンウェイ戦略」と呼びます。たとえば機能ごとに独立してリリースしたいなら、フロントエンド・バックエンドのような技術の層ではなく、機能や利用者の流れごとにチームを分けます。

分けるときは認知負荷、つまりチームが理解して扱わなければならない量も見ます。1チームが持つサービスが多すぎて誰も全体を分かっていないなら、分けるか、共通の基盤をプラットフォームチームに任せることを考えます。チームトポロジーの4つの型(ストリームアラインド・プラットフォーム・イネイブリング・難解なサブシステム)は、その整理に役立ちます。

深掘りされたら

  • チームの分け直しで気をつけることは?
  • チームをまたぐ依存が多いとき、どう減らしますか?

見られているポイント法則の意味と、認知負荷を含めた分け方

Q2心理的安全性とは何ですか? チームで高めるために何をしていますか?

模範回答

心理的安全性は、失敗や疑問、反対意見を口にしても、ばかにされたり罰せられたりしないと思えるチームの状態です。ぬるい状態のことではなく、高い基準を求めながら、それについて率直に言い合える状態を目指すものです。

私が意識しているのは、まず自分の失敗や分からないことを先に話すことです。次に、障害など悪い知らせを持ってきた人に感謝し、ポストモーテムを責めない形で行います。会議では話していない人に意見を聞き、反対意見には「もう少し聞かせてください」と返すようにしています。例えば、ふりかえりで出る意見の数や、障害の報告の早さが変化を見る手がかりになります。

深掘りされたら

  • 心理的安全性が高すぎて、ぬるくなっているチームにはどうしますか?

見られているポイント定義を正しく理解し、具体的な行動で説明できるか

Q312人に増えたチームを分けることになりました。どう進めますか?

模範回答

まず、なぜ分けるのかを確かめます。会議が回らない、担当が広すぎて誰も全体を分かっていない、リリースが詰まる、などの問題を書き出し、分けることで何をよくしたいかをはっきりさせます。

分け方は、技術の層ではなく、利用者の流れや機能のまとまりを基本にします。そうしないと1つの機能に2チームの調整が必要になるからです。コードやサービスの境界も合わせて見て、共通の部品やオンコールを誰が持つかを決めます。メンバーには案の段階で希望や懸念を聞き、決めた理由を説明します。分けたあとは数か月ごとに、リードタイムや会議の量、メンバーの声で効果を確かめます。

深掘りされたら

  • 分けたあと、チーム間の依存が多くて困ったらどうしますか?

見られているポイント目的から考え、流れで分け、運用の持ち方まで決められるか