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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
iwamot
PRO
December 25, 2024
Technology
1.5k
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
760
自己紹介
iwamot
PRO
1
100
パワポ作るマンをMCP Apps化してみた
iwamot
PRO
0
750
8万デプロイ
iwamot
PRO
2
390
AIエージェント・マイクロサービス時代。AWSでの手軽な構築法を考えて試してみた
iwamot
PRO
1
120
これが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
180
Other Decks in Technology
See All in Technology
Making sense of Google’s agentic dev tools
glaforge
1
300
データエンジニアリングとドメイン駆動設計
masuda220
PRO
14
2.4k
なぜ、あなたのAPIは使われないのか? AX時代の設計原則、ガードレール、運用体制
yokawasa
1
190
kaonavi Tech Night#1
kaonavi
0
140
穢れた技術選定について
watany
19
6k
Devsumi 2026 Summer 人もAIも使える共通基盤を事業の加速装置にする~デザインシステム運用に学ぶ組織レバレッジ~ 渡辺 凌央
legalontechnologies
PRO
1
280
【公開用】AI_Dev_Ex2026_AI_登壇資料
matsuritechnologies
PRO
1
440
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.5k
ソニー銀行におけるビジネスアジリティ向上のためのクラウドシフト戦略
srenext
0
1k
Aurora MySQL 8.4リリース! Rubyistが備えること / what-rubyist-should-prepare-for-aurora-mysql-8-4
fkmy
0
320
AIと1000本ノックしてたどり着いた、最速のプロダクト開発 ~toC向けAIエージェントUXを、動く選択肢とAIキャパシティで設計する~
lycorptech_jp
PRO
1
110
10年目を迎えた「ABEMA」がどのように AI 活用を推進して、AI 駆動開発にシフトしているのか / How ABEMA, entering its 10th year, is promoting the use of AI and shifting toward AI-driven development
miyukki
0
360
Featured
See All Featured
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
590
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Between Models and Reality
mayunak
4
380
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
440
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
640
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
420
How GitHub (no longer) Works
holman
316
150k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
640
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
420
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