1
Monoliths vs Microservices
Team Cognitive Load
Case Studies
Getting started
Team Topologies
2
Organizing business and
technology teams for fast flow
Matthew Skelton & Manuel Pais
IT Revolution Press
Order via stores worldwide: teamtopologies.com/book
3
Book signing ✍
TODAY
@ 19:15
Monoliths vs
Microservices
4
5
“Start with monolith and
extract microservices.”
- Tammer Saleh
6
https://www.infoq.com/presentations/cloud-anti-patterns
“Don’t start with a
monolith when your goal is
a microservices
architecture”
- Stefan Tilkov
7
http://martinfowler.com/articles/dont-start-monolith.html
“If you can't build a
monolith, what makes you
think microservices are
the answer?”
- Simon Brown
8
http://www.codingthearchitecture.com/2014/07/06/distributed_big_balls_of_mud.html
9
WTF?!?!
* where to focus?
“Software that
fits in your head”
- Daniel Terhorst-North
10
https://speakerdeck.com/tastapod/microservices-software-that-fits-in-your-head?slide=62
11
“Software that
fits in our heads”
4 key metrics: ‘Accelerate’
12
lead time
deployment frequency
mean time to restore (MTTR)
change fail percentage
Software that is ‘too big for
our heads’ works against
organizational agility
13
Team Cognitive Load
14
COGNITIVE LOAD:
The total amount of
mental effort being used
in the working memory
- John Sweller
15
Intrinsic
Extraneous
Germane
16
“How are
classes
defined in
Java?”
Intrinsic
Extraneous
Germane
17
“How do I
deploy this
app,
again?”
Intrinsic
Extraneous
Germane
18
“How do
bank
transfers
work?”
Intrinsic (skills)
Extraneous (mechanism)
Germane (domain focus)
19
(Intrinsic)
] Extraneous [
Germane
20
More: ‘Hacking Your Head’
21
Jo Pearce
(@jdpearce)
https://www.slideshare.net/JoPearce5/hacking-your-head-managing-information-overload-extended
Limit the size of software
services/products to the
cognitive load that the
team can handle.
22
23
“Software that
fits in our heads”
A ‘team-first’
approach to software
boundaries
24
Team size ≲ 9 *
* possibly 15
25
26
Each service must be fully
owned by a team with
sufficient cognitive capacity
to build and operate it.
Whole-team
techniques (mobbing)
27
Well-chosen domain
boundaries (DDD)
28
Developer Experience
#DevEx
29
Operator Experience
#operability
30
Thinnest Viable Platform
(TVP)
31
4 fundamental topologies
32
Stream-aligned team
Enabling team
Complicated Subsystem team
Platform team
4 fundamental topologies
33
Flow of change
3 core interaction modes
34
Flow of change
X-as-a-Service
Facilitating
Collaboration
“...trend analysis, simulations, rapid
prototyping, scenario planning,
gaming, environmental scanning
… give clues to the context and
competitive environment.”
- Dr. Naomi Stanford,
“Guide to Organisation Design” (The Economist)
35
Case Studies
36
CaseStudy
37
CaseStudy
38
2016
(early)
CaseStudy
39
2016
(late)
CMS
CaseStudy
Framework
40
2017
(early)
CMS
Products
CaseStudy
Framework
41
Products
2017
(late)
CMS
Team became too large
⇔
System became monolithic
Blocked flow of work across streams
42
Listen to ‘triggers for evolution’
❏ Software grows too large
❏ Over specialization (Brent)
❏ Increased coordination needs
43
CaseStudy
44
CaseStudy
45
CD Enablement
Infrastructure
Automation
Test
Automation
Build & CI
Support
CaseStudy
46
CD Enablement Infrastructure
Automation
Test
Automation
Build & CI
Support
It’s not always about software size...
More broadly, align size and number
of domains of responsibility
with team cognitive capacity.
47
Aim for teams with high cohesion internally
(think autonomy, mastery & purpose)
Aim for low bandwidth comms
between smaller teams
48
Listen to ‘triggers for evolution’
❏ Awkward interactions
❏ People not invested, burn out
❏ Frequent context switching
49
Getting started with
team cognitive load
50
How well can the team as a unit “grok”
the systems they own and develop?
Explicit cognitive load
51
Push some things into a Platform?
Explicit cognitive load
52
Are skills or capabilities missing?
Explicit cognitive load
53
What would change if we adopted the
3 team interaction patterns?
Collaboration, X-as-a-Service, Facilitating
Team Interactions
54
Collaboration, X-as-a-Service, Facilitating
How would teams react & behave?
Team Interactions
55
How is your Platform defined?
Thinnest Viable Platform
56
What is the thinnest platform that
could work?
Thinnest Viable Platform
57
What’s needed to run and support it?
Thinnest Viable Platform
58
Team Topologies
59
Organizing business and
technology teams for fast flow
Matthew Skelton & Manuel Pais
IT Revolution Press
Order via stores worldwide: teamtopologies.com/book
Training
60
Day 1
Fundamentals
Day 2
Deep Dive
Day 3
Applying in Context
teamtopologies.com/training
Looking for case studies
61
Global manufacturing company
Large government agency
Global financial services
Remaining problems
62
Measuring cognitive load at scale
Assessing team communication at scale
How to nudge managers and heads of X
to become Team Topologies enablers
TeamTopologies.com
@TeamTopologies
Sign up for news and tips:
TeamTopologies.com
Thank you!
teamtopologies.com
64
Matthew Skelton, Conflux
@matthewpskelton
Manuel Pais, Independent
@manupaisable
Copyright © Conflux Digital Ltd 2018-2019. All rights reserved.
Registered in England and Wales, number 10890964
Icons made by Freepick from www.flaticon.com - used under license

Monoliths vs Microservices is Missing the Point — Start with Team Cognitive Load By Pais, Manuel, Skelton, Matthew