はじめに
マネージメント経験のないエンジニアが
社内勉強会用にチームトポロジーを読んで簡単にまとめたものです
かみ砕いてまとめているため、主観が入っている可能性があります
正しい情報は以下の書籍をご確認ください
チームトポロジーとは?
近年、システムは複雑化して、大規模になっている
そんな世の中においても
ユーザに対して「素早く」「頻繁に」「安定的に」価値を届けたい点は妥協したくない
この
ユーザに対して「素早く」「頻繁に」「安定的に」価値を届けたい
に焦点を当てた組織を作るためのテンプレート・パターンのことをチームトポロジーと呼ぶ
具体的にはチームの種類とチーム間コミュニケーションの種類があり、その組み合わせで表現する
また、最適解はなく、サービスの規模やフェーズ、
様々な要因によって最適を模索して、各組織の状態によって変化させていく必要がある
コンウェイの法則と逆コンウェイ戦略
チームトポロジーが生まれる要因となったものが、コンウェイの法則みたい
コンウェイの法則
チームをスキルによって分断すると、
ユーザに価値を届けるまでに登場するチームが多くなって、
コミュニケーションが増加、ユーザに価値を届けるのが遅くなるよねってことらしい
逆コンウェイ戦略
コンウェイの法則から、コミュニケーションを小さく、チーム内に閉じさせれば、
ユーザに価値を早く届けれるよねっていう戦略
つまり、マイクロサービス化することになる
この戦略のチームがチームトポロジーの核となるチームになっている
チームファースト思考
そのままの意味、重要そうなものを抜粋
- チームは信頼関係のある5人程度で作成する
(信頼関係を築くために時間がかかるため、解散はしない、変化はゆっくり) - 1チーム・1ドメイン
(チームの認知負荷、ソフトウェアの境界) - チーム間コミュニケーションはチームAPIを定義する
https://github.com/TeamTopologies/Team-API-template
チームの種類
4種類あり、1つの主人公的チームとその他のサポートチーム(なのでいなくても良い)で構成される
図示できることが重要なのですが、今回は書いていません
参考文献の30分で分かった気になるチームトポロジー 31p を参照してください
ストリームアラインドチーム
1チームでユーザに価値を届ける
中心となるチームで、他チームはこのチームのためにある
逆コンウェイ戦略のチーム
プラットフォームチーム
ストリームアラインドチームの負荷を下げるために内部サービスを提供する
(個人的なイメージ : インフラ、モバイル)
イネイブリングチーム
他のチームが新しい技術を取り入れるのを支援する
(個人的なイメージ : SRE)
コンプリケイテッド・サブシステムチーム
特殊なスキルを必要とするサブシステムを提供する
(個人的なイメージ : アルゴリズム、データ)
チーム間コミュニケーションの種類
3種類で構成される
図示できることが重要なのですが、今回は書いていません
参考文献の30分で分かった気になるチームトポロジー 36p を参照してください
コラボレーション
他チームと協力して作業する
- チーム間の境界が曖昧
- コラボレーション先のチームについても知らないといけないため、認知負荷があがる
- コミュニケーションは増えるため、生産性は下がるかも
- イノベーションがおきるかも
X-as-a-Service
他チームのサービスを利用する
- チーム間の境界が明確
- X-as-a-Serviceとして利用できているということはマイクロサービス化されているため、組織がチームトポロジーとして成熟するほど多くなるはず
ファシリテーション
他チームを先導する
- ストリームアラインドチームへの技術導入、障害解決支援、etc..
- スペシャリストが必要
感想
- 可視化できるメリットは相当大きい
チームトポロジーとして組織を構成していなくても、当てはめて可視化してみるのは良いと思った- 共通認識ができる
- 現在の組織状態が見える
- 現在の組織構成と移行したい組織構成差分が見える
- 大規模組織向けかなと感じた
ユーザに対して「素早く」「頻繁に」「安定的に」価値が届けられなくなった、なりそうな段階で導入を考えるのが良さそう、最初から導入すると人的リソースが足りなくて、チームファースト思考が疎かになる - モバイルはどうすべきか難しいと感じた
組織の大きさ、人的リソースによって、ストリームアラインドチームに入れるか、プラットフォームとして独立させるか、両方か、どう構成するか組織の色が色濃く出そう(最適解はないので、チームトポロジーを当てはめない選択肢もある) - エンジニアは何となく知っているだけで、視野が広くなりそう、ただし、チームトポロジー自体が認知負荷とも言えそうなので知らなくてもOK
参考文献