The debate on monoliths vs microservices as architectural patterns for modern software systems usually focuses on technological aspects, missing crucial details around organizational strategy and team dynamics.
Should we start with a monolith and extract microservices or start with microservices? How many microservices is the right number? These kinds of questions indicate a confusion that is made worse by the perceived need to adopt lots of new technology in order to make microservices work.
The false dichotomy between monoliths and microservices helps no-one. Instead, switched-on organizations start with the team cognitive load required to build and run a part of the software system. If a team is not able to fully understand the details of a service or subsystem, there is little chance of the team being able to own and support it.
The resulting team-sized services are by definition suitable in size and complexity for a single team to own, develop, and run. No longer do we care how many lines of code there are in a single service or whether it is a “monolith”: what we care about is that a team can own and run the software effectively.
Using team cognitive load as the guiding principle - assessed by the team via measures such as supportability, deployability, testability, operability, prioritization difficulties and domain complexity - organizations can optimize for sustainable ownership and evolution of software systems.
This talk draws on research and case studies from the book Team Topologies by Matthew Skelton and Manuel Pais (IT Revolution Press, 2019) together with first-hand consulting experience from the authors with organizations around the world.
Forget Monoliths vs Microservices: Focus on Team Cognitive Load @ SeaCon UK 2019
1. TeamTopologies.com
@TeamTopologies
Forget ‘Monoliths vs Microservices’: focus on
Team Cognitive Load
Matthew Skelton & Manuel Pais
co-authors of Team Topologies
@matthewpskelton @manupaisable
SEACON 2019, London - 12 Nov 2019
#seacon2019
3. Team Topologies
3
Organizing business and
technology teams for fast flow
Matthew Skelton & Manuel Pais
IT Revolution Press
Order via stores worldwide: teamtopologies.com/book
7. “Start with monolith and
extract microservices.”
- Tammer Saleh
7
https://www.infoq.com/presentations/cloud-anti-patterns
8. “Don’t start with a
monolith when your goal is
a microservices
architecture”
- Stefan Tilkov
8
http://martinfowler.com/articles/dont-start-monolith.html
9. “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
11. “Software that
fits in your head”
- Daniel Terhorst-North
11
https://speakerdeck.com/tastapod/microservices-software-that-fits-in-your-head?slide=62
36. “...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)
36
57. How is your Platform defined?
Thinnest Viable Platform
57
58. What is the thinnest platform that
could work?
Thinnest Viable Platform
58
59. What’s needed to run and support it?
Thinnest Viable Platform
59
60. Team Topologies
60
Organizing business and
technology teams for fast flow
Matthew Skelton & Manuel Pais
IT Revolution Press
Order via stores worldwide: teamtopologies.com/book
62. Looking for case studies
62
Global manufacturing company
Large government agency
Global financial services
63. Remaining problems
63
Measuring cognitive load at scale
Assessing team communication at scale
How to nudge managers and heads of X
to become Team Topologies enablers