TeamTopologies.com
@TeamTopologies
Forget ‘Monoliths vs Microservices’; focus on
Team Cognitive Load
Matthew Skelton & Manuel Pais
co-authors of Team Topologies
@matthewpskelton @manupaisable
DevOps Enterprise Summit EUR 2019 - 26 June
2
Monoliths vs Microservices
Team Cognitive Load
Case Studies
Getting started
Team Topologies
3
Organizing business and
technology teams for fast flow
Matthew Skelton & Manuel Pais
Publication date: Sept 2019
IT Revolution Press
Pre-order from Amazon:
https://teamtopologies.com/book
4
Book signing ✍
Weds 26 June
@ 19:30
Monoliths vs
Microservices
5
6
“Start with monolith and
extract microservices.”
- Tammer Saleh
7
https://www.infoq.com/presentations/cloud-anti-patterns
“Don’t start with a
monolith when your goal is
a microservices
architecture”
- Stefan Tilkov
8
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
9
http://www.codingthearchitecture.com/2014/07/06/distributed_big_balls_of_mud.html
10
WTF?!?!
* where to focus?
“Software that
fits in your head”
- Daniel Terhorst-North
11
https://speakerdeck.com/tastapod/microservices-software-that-fits-in-your-head?slide=62
12
“Software that
fits in our heads”
4 key metrics: ‘Accelerate’
13
lead time
deployment frequency
mean time to restore (MTTR)
change fail percentage
Software that is ‘too big for
our heads’ works against
organizational agility
14
Team Cognitive Load
15
COGNITIVE LOAD:
The total amount of
mental effort being used
in the working memory
- John Sweller
16
Intrinsic
Extraneous
Germane
17
“How are
classes
defined in
Java?”
Intrinsic
Extraneous
Germane
18
“How do I
deploy this
app,
again?”
Intrinsic
Extraneous
Germane
19
“How do
bank
transfers
work?”
Intrinsic (skills)
Extraneous (mechanism)
Germane (domain focus)
20
(Intrinsic)
] Extraneous [
Germane
21
More: ‘Hacking Your Head’
22
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.
23
24
“Software that
fits in our heads”
A ‘team-first’
approach to software
boundaries
25
Team size ≲ 9 *
* possibly 15
26
27
Each service must be fully
owned by a team with
sufficient cognitive capacity
to build and operate it.
Whole-team
techniques (mobbing)
28
Well-chosen domain
boundaries (DDD)
29
Developer Experience
#DevEx
30
Operator Experience
#operability
31
Thinnest Viable Platform
(TVP)
32
4 fundamental topologies
33
Stream-aligned team
Enabling team
Complicated Subsystem team
Platform team
4 fundamental topologies
34
Flow of change
3 core interaction modes
35
Flow of change
X-as-a-Service
Facilitating
Collaboration
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
CaseStudy
Getting started with
team cognitive load
51
How well can the team as a unit “grok”
the systems they own and develop?
Explicit cognitive load
52
Push some things into a Platform?
Explicit cognitive load
53
Are skills or capabilities missing?
Explicit cognitive load
54
What would change if we adopted the
3 team interaction patterns?
Collaboration, X-as-a-Service, Facilitating
Team Interactions
55
Collaboration, X-as-a-Service, Facilitating
How would teams react & behave?
Team Interactions
56
How is your Platform defined?
Thinnest Viable Platform
57
What is the thinnest platform that
could work?
Thinnest Viable Platform
58
What’s needed to run and support it?
Thinnest Viable Platform
59
Team Topologies
60
Organizing business and
technology teams for fast flow
Matthew Skelton & Manuel Pais
Publication date: Sept 2019
IT Revolution Press
Pre-order via stores worldwide:
teamtopologies.com/book
Training
61
Day 1
Fundamentals
Day 2
Deep Dive
Day 3
Applying in Context
teamtopologies.com/training
Sign up for news and tips:
TeamTopologies.com
62
Thank you!
teamtopologies.com
63
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 @ DOES London 2019