Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from...
Transcript of Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from...
![Page 1: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/1.jpg)
Mike Amundsen
CA Technologies
@mamund
Building Effective
Microservice TeamsLearning from
Conway, Brooks, and Dunbar
![Page 2: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/2.jpg)
Introduction
![Page 3: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/3.jpg)
![Page 4: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/4.jpg)
![Page 5: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/5.jpg)
![Page 6: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/6.jpg)
![Page 7: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/7.jpg)
![Page 8: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/8.jpg)
Effective Teams
![Page 9: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/9.jpg)
Effective Teams
for Microservices
![Page 10: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/10.jpg)
Melvin Conway
![Page 11: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/11.jpg)
![Page 12: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/12.jpg)
![Page 13: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/13.jpg)
Project-Based Organizations
![Page 14: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/14.jpg)
“Project-based organizations
revolve around the concept
that a group of individuals or
firms join together with the
explicit purpose of producing a
tangible set of outputs”
-- Paul Chinowsky, EPOJ 2011
![Page 15: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/15.jpg)
“How Do Committees Invent?”
![Page 16: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/16.jpg)
![Page 17: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/17.jpg)
![Page 18: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/18.jpg)
![Page 19: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/19.jpg)
“
Any organization that designs a
system (defined more broadly here
than just information systems) will
inevitably produce a design whose
structure is a copy of the
organization's communication
structure.”
-- Mel Conway, 1967
![Page 20: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/20.jpg)
A system’s design is a copy of
the organization’s
communication structure.
-- Mel Conway, 1967
![Page 21: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/21.jpg)
Communication dictates design.
-- Mel Conway, 1967
![Page 22: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/22.jpg)
Conway’s Law
![Page 23: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/23.jpg)
![Page 24: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/24.jpg)
Brooks’ Law
“Adding manpower to a late
software project makes it later.”
-- Fred Brooks, 1975
![Page 25: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/25.jpg)
Intercommunication formula
n(n − 1) / 2
-- Fred Brooks, 1975
![Page 26: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/26.jpg)
Intercommunication formula
5*(5–1)/2 = 10
15*(15–1)/2 = 105
50*(50–1)/2 = 1,225
150*(150–1)/2 = 11,175
-- Fred Brooks, 1975
![Page 27: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/27.jpg)
Dunbar’s Number
A measurement of the “cognitive
limit to the number of individuals
with whom any one person can
maintain stable relationships.”
-- Robin Dunbar, 1992
![Page 28: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/28.jpg)
![Page 29: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/29.jpg)
![Page 30: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/30.jpg)
Dunbar Groups
Intimate friends: 5
Trusted friends: 15
Close friends: 35
Casual friends: 150
-- Robin Dunbar, 1992
![Page 31: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/31.jpg)
Intercommunication formula
5*(5–1)/2 = 10
15*(15–1)/2 = 105
50*(50–1)/2 = 1,225
150*(150–1)/2 = 11,175
-- Fred Brooks, 1975
![Page 32: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/32.jpg)
Communication dictates design.
-- Mel Conway, 1967
![Page 33: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/33.jpg)
Conway’s (first) Law
![Page 34: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/34.jpg)
Conway’s (first) Law
tells us TEAM SIZE is important
![Page 35: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/35.jpg)
Conway’s (first) Law
tells us TEAM SIZE is important
so…
Make the teams as small as necessary.
![Page 36: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/36.jpg)
Aim for “Dunbar level 1” (5),
possibly “Dunbar level 2” (15),
be wary of teams above that size.
![Page 37: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/37.jpg)
If you don’t have
a personal relationship
with every member of your team,
it is probably TOO BIG.
![Page 38: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/38.jpg)
So… what about other Conway Laws?
![Page 39: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/39.jpg)
Conway’s Second Law
![Page 40: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/40.jpg)
Doing it Over
“There is never enough time
to do something right,
but there is always enough
time to do it over.”
-- Mel Conway, 1967
![Page 41: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/41.jpg)
Trade Offs
![Page 42: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/42.jpg)
Efficiency-Thoroughness Trade Offs (ETTOs)
![Page 43: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/43.jpg)
![Page 44: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/44.jpg)
Satisficing v. Sacrificing
“Satisficing is explained as a
consequence of limited
cognitive capacity.
Sacrificing is explained as a
consequence of the intractability
of the work environment”
-- Eric Hollnagel, 2009
![Page 45: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/45.jpg)
Satisficing v. Sacrificing
Problem too complicated?
Ignore details.
Not enough resources?
Give up features.
-- Eric Hollnagel, 2009
![Page 46: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/46.jpg)
ETTOs are “normal” and result in
success more often than failure.
![Page 47: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/47.jpg)
![Page 48: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/48.jpg)
![Page 49: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/49.jpg)
The enemy is intractability.
![Page 50: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/50.jpg)
Increasing Intractability
1. Systems grow too large
2. Rate of change increases
3. Overall expectations keep rising
-- Eric Hollnagel, 2009
![Page 51: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/51.jpg)
![Page 52: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/52.jpg)
Conway’s Second Law
tells us PROBLEM SIZE is important
![Page 53: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/53.jpg)
Conway’s Second Law
tells us PROBLEM SIZE is important
so…
Make the solution as small as necessary.
![Page 54: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/54.jpg)
If you (or your team)
cannot explain ALL the code
in your release package,
your release is TOO LARGE
![Page 55: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/55.jpg)
Conway’s Third Law
![Page 56: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/56.jpg)
Homomorphism
“There is a homomorphism
from the linear graph of a
system to the linear graph of
its design organization”
-- Mel Conway, 1967
![Page 57: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/57.jpg)
![Page 58: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/58.jpg)
![Page 59: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/59.jpg)
Homomorphism
“If you have four groups
working on a compiler, you'll
get a 4-pass compiler.”
- Eric S. Raymond, 1991
![Page 60: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/60.jpg)
Conway’s Third Law
tells us CROSS-TEAM INDEPENDENCE
is important.
![Page 61: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/61.jpg)
Conway’s Third Law
tells us CROSS-TEAM INDEPENDENCE
is important.
So…
Make each team fully independent.
![Page 62: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/62.jpg)
If you have to hold a release
until some other team is ready,
you are not an
INDEPENDENT TEAM
![Page 63: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/63.jpg)
Conway’s Fourth Law
![Page 64: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/64.jpg)
Disintegration
“The structures of large
systems tend to disintegrate
during development,
qualitatively more so than with
small systems.”
-- Mel Conway, 1967
![Page 65: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/65.jpg)
Three reasons Disintegration occurs…
![Page 66: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/66.jpg)
Disintegration: Reason #1
“The realization that the
system will be large, together
with organization pressures,
make irresistible the
temptation to assign too many
people to a design effort”
-- Mel Conway, 1967
![Page 67: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/67.jpg)
Brooks’ Law
Adding manpower to a late
software project makes it later.
-- Fred Brooks, 1975
![Page 68: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/68.jpg)
Disintegration: Reason #2
“Application of the
conventional wisdom of
management to a large
design organization causes its
communication structure to
disintegrate.”
-- Mel Conway, 1967
![Page 69: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/69.jpg)
Dunbar’s Number
A measurement of the “cognitive
limit to the number of individuals
with whom any one person can
maintain stable relationships.”
-- Robin Dunbar, 1992
![Page 70: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/70.jpg)
Disintegration: Reason #3
“Homomorphism insures that
the structure of the system will
reflect the disintegration which
has occurred in the design
organization.”
-- Mel Conway, 1967
![Page 71: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/71.jpg)
Communication dictates design.
-- Mel Conway, 1967
![Page 72: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/72.jpg)
Conway’s Fourth Law
tells us TIME is against LARGE teams.
![Page 73: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/73.jpg)
Conway’s Fourth Law
tells us TIME is against LARGE teams.
So…
Make release cycles short and small.
![Page 74: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/74.jpg)
If your release dates are often missed,
your release SIZE is TOO BIG.
![Page 75: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/75.jpg)
So, let’s review our options…
![Page 76: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/76.jpg)
Conway’s Laws
can help us succeed
![Page 77: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/77.jpg)
Conway’s Laws
can help us succeed
when working with
microservice teams.
![Page 78: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/78.jpg)
Conway’s First Law
A system’s design is a copy
of the organization’s
communication structure.
![Page 79: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/79.jpg)
Conway’s First Law
A system’s design is a copy
of the organization’s
communication structure.
Actively manage
communications within the
teams and across teams.
![Page 80: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/80.jpg)
James Herbsleb: “Tactics for Global Software Development”
![Page 81: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/81.jpg)
James Herbsleb: “Tactics for Global Software Development”
![Page 82: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/82.jpg)
Increase communications
• Real-time Chat Tools
• Video Conferencing
• Online Forums/News Groups
• Wiki and Web Sites
Reduce the effort required to locate and
interact with the ‘right people’
![Page 83: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/83.jpg)
Conway’s Second Law
There is never enough time
to do something right, but
there is always enough time
to do it over.
![Page 84: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/84.jpg)
Conway’s Second Law
There is never enough time
to do something right, but
there is always enough time
to do it over.
Remember the process is
continually repeating.
![Page 85: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/85.jpg)
Continuous Delivery
“The core concept of making
small frequent changes, and
testing at every step,
reduces the risk inherent in
deploying new code.”
Jez Humble, Thoughtworks.
![Page 86: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/86.jpg)
Support continuous processes
• Implement small changes
• Test immediately
• Deploy constantly
Shorten the feedback loop as much as
possible.
![Page 87: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/87.jpg)
Conway’s Third Law
There is a homomorphism
from the linear graph of a
system to the linear graph of
its design organization.
![Page 88: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/88.jpg)
Conway’s Third Law
There is a homomorphism
from the linear graph of a
system to the linear graph of
its design organization.
Organize teams in order to
achieve desired system.
![Page 89: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/89.jpg)
Microservices
Organized around
business capabilities.
Products, not projects.
Martin Fowler, Thoughtworks
![Page 90: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/90.jpg)
![Page 91: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/91.jpg)
![Page 92: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/92.jpg)
Organize teams by product or BU
• Combine design, develop, test, & deploy
• Include storage, business process, & UI
• Allow teams autonomy within their boundary
• Require teams to inter-operate, not integrate
Make sure teams own their complete lifecycle.
![Page 93: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/93.jpg)
Conway’s Fourth Law
The structures of large
systems tend to disintegrate
during development.
![Page 94: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/94.jpg)
Conway’s Fourth Law
The structures of large
systems tend to disintegrate
during development.
Keep your teams as small
as necessary, but no
smaller.
![Page 95: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/95.jpg)
Sizing Teams
Jeff Bezos, Amazon
![Page 96: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/96.jpg)
Sizing Teams
If a team can’t be fed with
two pizzas, it’s too big.
Jeff Bezos, Amazon
![Page 97: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/97.jpg)
Make team as small as necessary
• Resist urge to grow teams in response to deadlines
• Consider Dunbar’s groups when sizing teams
• Be prepared to break into smaller teams
It’s better to be “too small” than to be “too big.”
![Page 98: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/98.jpg)
Conway’s Lessons
1. Increase communications
2. Support continuous process
3. Organize teams by products
4. Make teams as small as necessary
![Page 99: Building Effective Microservice Teams - AmundsenBuilding Effective Microservice Teams Learning from Conway, Brooks, and Dunbar. Introduction. Effective Teams. Effective Teams for Microservices.](https://reader034.fdocuments.us/reader034/viewer/2022051512/6029e5d71ef6824b2e7e859f/html5/thumbnails/99.jpg)
Mike Amundsen
CA Technologies
@mamund
Building Effective
Microservice TeamsLearning from
Conway, Brooks, and Dunbar
http://g.mamund.com/2015-10-qcon-teams