You are on page 1of 1

TEAM TOPOLOGIES

by Matthew Skelton and Manuel Pais


Team assignments Inverse Conway manoeuvre
TEAM AS THE MEANS OF DELIVERY

First draft of the architecture Organize teams to match the architecture you want

"Disbanding high-performing teams is


Not all communication / collaboration is good worse than vandalism: it is corporate
Restrict communication between teams
psychopathy."
Focus communication between specific teams
— Allan Kelly, Project Myopia

TEAM FIRST-THINKING
Dunbar's number Use Small, Long-Lived Teams
- Seven-to-nine MAX As the Standard
> Trust will break down Autonomous

Owns the Software Minimize Team Cognitive Load


“Continuity of care” Total amount of mental effort used in the working memory
No shared ownership Use good boundaries

Embrace Diversity Reward the Whole Team


Produce more creative solutions Not individuals

TEAM TOPOLOGIES THAT WORK FOR FAST FLOW


Product or service
Team aligned to a single
STREAM-ALIGNED TEAM
valuable business Set of features User Journey

stream of work
User Journey User Persona
Primary type in an
organization Work on the full spectrum of delivery
(80/90 %) Requires clarity of purpose and responsibility

"Purpose of the other fundamental team topologies is to reduce the burden on the stream-aligned teams."

Help stream-aligned teams acquire Composed of specialists


missing capabilities In a given technical or product domain
ENABLING
TEAM Collaborative nature
Focus on stream-aligne teams problems first
Not a permanent dependency Not the solutions per se

"Do not exist to fix problems that arise from poor practices, prioritization choices, or code quality within stream-aligned teams."

Reduce cognitive load of


Responsible for building / maintaining
COMPLICATED stream-aligned teams that needs to A part of the system
SUBSYSTEM use the complicated subsystem That depends heavily on specialist knowledge
TEAM
Examples : Video processing codec, Mathematical model, Real-time trade, Reconciliation algorithm, Face-recognition, ...

"Prioritizes and delivers upcoming work [...] respecting the needs of the stream-aligned teams that use the complicated subsystem."

PLATFORM Provide internal services to reduce Treat services as products


Reliable / Usable
TEAM cognitive load of stream-aligned teams Fit for purpose

Thick platform Thin platform Provision new server instance


Combination of several inner platform teams Could simply be a layer on top of
Providing a myriad of services a vendor-provided solution
Provide tools for access management

"A digital platform is a foundation of self-service APIs, tools, services, knowledge and support which are arranged as a compelling internal product."

Convert Common Team Types to the Fundamental Team Topologies


PLATFORM PLATFORM
"Most organizations would see major gains in ENABLING
Or
TEAM TEAM
TEAM
effectiveness by mapping each of their teams
Infrastructure Teams Tooling Teams
to one of the four fundamental topologies [...]
to adopt the purpose and behavior patterns PLATFORM ENABLING
TEAM

of that topology.”." TEAM

Component Teams Or other Architecture Part time

Split with FRACTURE PLANES User Personas Regulatory Compliance

Software boundaries Technology Team Location Risk


Natural Seam
Change Cadence Performance Isolation
Allowing the system to be split easily
Business Domain Bounded Context

EVOLVING TEAM INTERACTIONS FOR INNOVATION AND RAPID DELIVERY


3 INTERACTION MODES "Well-Defined Interactions Are Key to Effective Teams"

C
C
Interaction
patterns per
Collaboration X as-a-Service (XAAS) Facilitating
topology
2 teams work together 1 team consumes something 1 team facilitates another
On a shared goal Provided by another team team Learning / adopting
During discovery of new Such as an API, a tool, or a full new approach
technology or approaches software product (usually an enabling team)

STREAM-ALIGNED TEAM
Typical Typical Occasional
Occasional Typical
ENABLING
TEAM

Occasional Typical
COMPLICATED
SUBSYSTEM
TEAM

PLATFORM
TEAM Occasional Typical

EVOLUTIONARY PATTERNS
C C No
C C Interaction
Collaboration X as-a-Service X as-a-Service Collaboration Facilitating

Teams should ask How to get started ?


What kind of interaction should we have with this other team ?
Should we be collaborating closely with the other team? 1. Start with the Team
Should we be expecting or providing a service? 2. Identify Suitable Streams of Change
Or should we be expecting or providing facilitation? 3. Identify a Thinnest Viable Platform (services needed)
4. Identify Capability Gaps (Team Coaching, Mentoring,...)
Team Topologies alone : not enough 5. Share and Practice Different Interaction Modes
Explain Principles behind New Ways of Working
IN ADDITION

Healthy organizational culture Good engineering practices


Supports professional development of individuals and teams Test-first development
Safe to speak Focus on continuous delivery / operability
Learn continuously Pairing / mobbing for code review ...

Healthy funding / financial practices Clarity of business vision


Avoiding the pernicious effects of a CapEx/OpEx With horizons at human-relevant timescales
Avoiding project-driven deadlines and large-batch budgeting Clear reasoning behind the priorities
Allocating training budgets to teams or groups rather than individuals

#sharingiscaring BY YOAN THIRION @YOT88

You might also like