Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
効率的な技術組織が作れる!書籍『チームトポロジー』要点まとめ
Search
iwamot
December 25, 2024
Technology
2
220
効率的な技術組織が作れる!書籍『チームトポロジー』要点まとめ
2024-12-25
ENECHANGE I/O Day LT⼤会(社内イベント)
iwamot
December 25, 2024
Tweet
Share
More Decks by iwamot
See All by iwamot
始めないともったいない!SLO運用で得られる3つのメリット
iwamot
0
36
あなたの人生も変わるかも?AWS認定2つで始まったウソみたいな話
iwamot
3
910
AWS⼊社という選択肢、⾒えていますか
iwamot
2
1.3k
40代後半で開発エンジニアからクラウドインフラエンジニアにキャリアチェンジし、生き残れる自信がようやく持てた話
iwamot
9
9k
DockerのマルチプラットフォームイメージをGitHub Actionsでビルドして公開する際に、参考にしたドキュメントと便利だったツール
iwamot
4
370
RAGもファインチューニングも使わない 素朴なAIチャットボットを職場に導入した結果
iwamot
1
200
Amazon CloudWatchでSLOを監視してみた CODT 2024 クロージングイベント版
iwamot
0
130
Cost-Effective SLO Error Budget Monitoring with Athena and CloudWatch
iwamot
0
960
Amazon CloudWatchでSLOを監視してみた
iwamot
0
130
Other Decks in Technology
See All in Technology
あなたの知らないクラフトビールの世界
miura55
0
170
[SRE kaigi 2025] ガバメントクラウドに向けた開発と変化するSRE組織のあり方 / Development for Government Cloud and the Evolving Role of SRE Teams
kazeburo
3
1.2k
技術に触れたり、顔を出そう
maruto
1
180
CDKのコードレビューを楽にするパッケージcdk-mentorを作ってみた/cdk-mentor
tomoki10
0
220
Tech Blog執筆のモチベート向上作戦
imamura_ko_0314
0
420
0→1事業こそPMは営業すべし / pmconf #落選お披露目 / PM should do sales in zero to one
roki_n_
PRO
2
3.8k
月間60万ユーザーを抱える 個人開発サービス「Walica」の 技術スタック変遷
miyachin
5
1.2k
Platform EngineeringがあればSREはいらない!? 新時代のSREに求められる役割とは
mshibuya
1
2.7k
第27回クラウド女子会 ~re:Invent 振り返りLT会~ 宣言型ポリシー、使ってみたらこうだった!
itkr2305
0
250
プロダクト開発、インフラ、コーポレート、そしてAIとの共通言語としての Terraform / Terraform as a Common Language for Product Development, Infrastructure, Corporate Engineering, and AI
yuyatakeyama
5
1.3k
メールヘッダーを見てみよう
hinono
0
150
アクセシブルなマークアップの上に成り立つユーザーファーストなドロップダウンメニューの実装 / 20250127_cloudsign_User1st_FE
bengo4com
1
1.1k
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.6k
Music & Morning Musume
bryan
46
6.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Optimizing for Happiness
mojombo
376
70k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Become a Pro
speakerdeck
PRO
26
5.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Building Your Own Lightsaber
phodgson
104
6.2k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Transcript
効率的な技術組織が作れる! 書籍『チームトポロジー』要点まとめ 2024-12-25 ENECHANGE I/O Day LT大会(社内イベント) VPoT兼CTO室マネージャー 岩本隆史
『チームトポロジー』(2021) 副題:価値あるソフトウェアをすばやく届ける適応型組織設計 2/18
同書の主張 疎結合なソフトウェアは、疎結合な組織から生まれる 小さなチームで、認知負荷を制限すべき 組織は静的ではなく、進化させるべき ※ 重要な意見をピックアップし、自分なりに整理したものです 3/18
疎結合なソフトウェアは、疎結合な組織から生まれる システムを設計する組織は、その構造をそっくりまねた構造の設計を生み出して しまう(コンウェイの法則) アーキテクチャー設計に従うようチームに求めるのではなく、システムに反映し たいアーキテクチャーに合うようなチーム構造にする(逆コンウェイ戦略) 明瞭なチームインタラクションだけにコミュニケーションパスを限定すること で、モジュール化した疎結合なシステムが生まれる 4/18
小さなチームで、認知負荷を制限すべき チームとは、5人から9人のメンバーからなる安定したグループで、共有されたゴ ールのために働く単位のこと グループのサイズが大きくなると、必要なレベルの信頼関係を維持できなくなる 認知負荷容量を考慮しないと、チームの責任範囲と担当領域は広がりすぎること になる。自分の仕事に熟達するだけの余裕がなくなり、担当業務のコンテキスト スイッチに悩まされる 5/18
組織は静的ではなく、進化させるべき 技術、マーケット、顧客やユーザーの要望、規制の要件などが急速に変化してい るため、成功している組織は当然、組織構造を定期的に適応させ進化させる必要 がある 組織図やマトリクスマネジメントのような単一で静的な組織構造を利用していて は、現代のソフトウェアシステムで効果的なアウトカムを生み出せないことが 徐々に明らかになってきている 6/18
同書が提示したモデル 4つのチームタイプ 3つのインタラクションモード 7/18
4つのチームタイプ ストリームアラインドチーム プラットフォームチーム イネイブリングチーム コンプリケイテッド・サブシステムチーム 8/18
ストリームアラインドチーム ビジネスの主な変更フローに沿って配置されるチーム。職能横断型で、他のチー ムを待つことなく、利用可能な機能をデリバリーする能力を持つ 組織で根幹となるチームタイプで、残りの基本的なチームタイプの目的は、スト リームアラインドチームの負荷を減らすことにある 9/18
プラットフォームチーム 下位のプラットフォームを扱うチームで、ストリームアラインドチームのデリバ リーを助ける。プラットフォームは、直接使うと複雑な技術をシンプルにし、利 用するチームの認知負荷を減らす プラットフォームチームの知識は、長大な利用マニュアルではなく、セルフサー ビスの形でウェブポータルやプログラマブルなAPIとして提供され、ストリームア ラインドチームは簡単に活用できる 10/18
イネイブリングチーム 転換期や学習期に、他のチームがソフトウェアを導入したり変更したりするのを 助ける 特定のテクニカル(プロダクト)ドメインのスペシャリストから構成され、能力 ギャップを埋めるのを助ける うまく機能すれば、ストリームアラインドチームは、イネイブリングチームから の支援を数週間から数か月で必要としなくなる 11/18
コンプリケイテッド・サブシステムチーム 普通のストリームアラインドチーム、プラットフォームチームが扱うには複雑す ぎるサブシステムを扱うためのチーム。本当に必要な場合にだけ編成される サブシステムの例としては、動画処理コーデック、数理モデル、リアルタイム取 引裁定アルゴリズム、金融サービスのトランザクションレポートシステム、顔認 識エンジンなどがある 12/18
3つのインタラクションモード コラボレーションモード X-as-a-Serviceモード ファシリテーションモード 13/18
コラボレーションモード 特に新しい技術やアプローチを探索している間、2つのチームがゴールを共有して 一緒に働く。学習のペースを加速する上で、このオーバーヘッドには価値がある ペアプログラミング、モブプログラミング、ホワイトボードでのスケッチのよう な基本的なコラボレーションスキルに関するトレーニングやコーチングは、コラ ボレーションモードを使用するチームに有益 14/18
X-as-a-Serviceモード あるチームが、別のチームが提供する何かを利用する(API、ツール、ソフトウェ ア製品全体など)。コラボレーションは最小限になっている コアとなるユーザーエクスペリエンス(UX)とデベロッパーエクスペリエンス (DevEx)のプラクティスに関するトレーニングやコーチングは、X-as-a-Service モードを使用するチームに有益 15/18
ファシリテーションモード あるチーム(通常はイネイブリングチーム)が、新しいアプローチの学習と適用 を促すため、他のチームをファシリテーションする ファシリテーションのやり方や他のチームから助けてもらう方法に関するトレー ニングやコーチングは、ファシリテーションモードを使用するチームに有益 16/18
基本形と進化の例 17/18
まとめ 同書の主張 疎結合なソフトウェアは、疎結合な組織から生まれる 小さなチームで、認知負荷を制限すべき 組織は静的ではなく、進化させるべき 同書が提示したモデル 4つのチームタイプ 3つのインタラクションモード 18/18