The “monoliths vs microservices” debate often focuses on technological aspects, ignoring strategy and team dynamics. Instead of technology, smart-thinking organizations are beginning with team cognitive load as the guiding principle for modern software. In this session I explain how and why.
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 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 canown 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.
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
6. “Start with monolith and
extract microservices.”
- Tammer Saleh
6
https://www.infoq.com/presentations/cloud-anti-patterns
7. “Don’t start with a
monolith when your goal
is a microservices
architecture”
- Stefan Tilkov
7
http://martinfowler.com/articles/dont-start-monolith.html
8. “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
10. “Software that
fits in your head”
- Daniel Terhorst-North
10
https://speakerdeck.com/tastapod/microservices-software-that-fits-in-your-head?slide=62
24. “Any organization that designs a
system (defined broadly) will
produce a design whose structure is
a copy of the organization's
communication structure.”
– Mel Conway, 1968
24
43. “...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)
43
66. How is your Platform defined?
Thinnest Viable Platform
66
67. What is the thinnest platform that
could work?
Thinnest Viable Platform
67
68. What’s needed to run and support it?
Thinnest Viable Platform
68
69. Team Topologies
69
Organizing business and
technology teams for fast flow
Matthew Skelton & Manuel Pais
IT Revolution Press
Order via stores worldwide: teamtopologies.com/book