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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
iwamot
PRO
December 25, 2024
Technology
1.4k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
効率的な技術組織が作れる!書籍『チームトポロジー』要点まとめ
2024-12-25
ENECHANGE I/O Day LT⼤会(社内イベント)
iwamot
PRO
December 25, 2024
More Decks by iwamot
See All by iwamot
MCP Appsを作ってみよう
iwamot
PRO
4
740
自己紹介
iwamot
PRO
1
95
パワポ作るマンをMCP Apps化してみた
iwamot
PRO
0
720
8万デプロイ
iwamot
PRO
2
380
AIエージェント・マイクロサービス時代。AWSでの手軽な構築法を考えて試してみた
iwamot
PRO
1
110
これがLambdaレス時代のChatOpsだ!実例で学ぶAmazon Q Developerカスタムアクション活用法
iwamot
PRO
10
2.8k
Developer Certificate of Origin、よさそう
iwamot
PRO
0
100
復号できなくなると怖いので、AWS KMSキーの削除を「面倒」にしてみた CODT 2025 クロージングイベント版
iwamot
PRO
1
210
復号できなくなると怖いので、AWS KMSキーの削除を「面倒」にしてみた
iwamot
PRO
3
170
Other Decks in Technology
See All in Technology
AWS Blocks を触ってみた/first-tach-aws-blocks
fossamagna
2
140
攻撃者がいなくてもAIエージェントはインシデントを起こす
nomizone
0
200
ループエンジニアリングでE2Eテストを実践
noriyukitakei
0
270
5分でわかるDuckDB Quack
chanyou0311
4
310
美しいコードを書くためにF#を学んでみた話
yud0uhu
1
180
SRE歴2ヶ月でも開発6年の知見を活かして、チームで止まっていた環境改善を前に進めた話
a_ono
1
200
5分でわかる Amazon Connect_20260608
hwangbyeonghun
0
180
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
1
320
CSに"SLO"は要らない、経営層に"99.9%"は伝わらない - SREを全社に"翻訳"する3原則
cscengineer
PRO
0
1.1k
型は壁、Rustでもバグを直すな、表現できなくせよ
nwiizo
9
1k
トークン最適化のためのユーザーストーリー分析 / User Story Analysis for Token Optimization
oomatomo
0
170
Claude Code 珍プレー好プレー
shinyasaita
0
200
Featured
See All Featured
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Leo the Paperboy
mayatellez
8
1.9k
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
440
Building the Perfect Custom Keyboard
takai
2
810
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
170
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
250
Chasing Engaging Ingredients in Design
codingconduct
0
230
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