Slide 1

Slide 1 text

Socio-technical evolution: growing an architecture and its organization for fast fl ow Chris Richardson Founder of Eventuate.io Founder of the original CloudFoundry.com Author of POJOs in Action and Microservices Patterns [email protected] http://adopt.microservices.io https://www.linkedin.com/in/pojos Copyright © 2025. Chris Richardson Consulting, Inc. All rights reserved

Slide 2

Slide 2 text

Presentation goal How to incrementally grow an application and its development organization

Slide 3

Slide 3 text

About Chris http://adopt.microservices.io

Slide 4

Slide 4 text

About Chris https://chrisrichardson.net/

Slide 5

Slide 5 text

Microservices Patterns, 2nd edition https://microservices.io/post/architecture/2025/06/26/announcing-meap-microservices-patterns-2nd-edition.html

Slide 6

Slide 6 text

Agenda Introduction to socio-technical architecture De fi ning a socio-technical architecture Growing a socio-technical architecture

Slide 7

Slide 7 text

Socio-technical architecture : fl ow

Slide 8

Slide 8 text

Fast fl ow for business succe$$ in today’s turbulent (VUCA) world Development Production Continuous stream of small changes, many times a day Continuous feedback and learning Users IT

Slide 9

Slide 9 text

Enables Enables Process: Principles and practices for fast fl ow Organization: Organizational patterns and principles for fast fl ow Fast fl ow success triangle Fast fl ow architecture: (at scale) A socio-technical architecture for fast fl ow

Slide 10

Slide 10 text

Fast fl ow socio-technical architecture: organization

Slide 11

Slide 11 text

Team topologies: organizational patterns and principles for fast fl ow

Slide 12

Slide 12 text

Cognitive overload: an obstacle to fast fl ow Sources: Inherent complexity Accidental complexity Consequences: Reduces team performance Impacts mental health: stress, burnout. DevEx Work environment than minimizes interruptions, meaningful work, … Minimize - simplify environment, automate, good documentation, … Fast feedback from colleagues, tools, deployment pipeline, production, users, … Feedback Flow Cognitive load Great https://premium.microservices.io/microservices-rules-4-provide-a-great-developer-experience/

Slide 13

Slide 13 text

Fast fl ow socio-technical architecture: architecture

Slide 14

Slide 14 text

Architecture is multi-dimensional

Slide 15

Slide 15 text

Architectural requirements for fast fl ow

Slide 16

Slide 16 text

Cognitive alignment - ownership

Slide 17

Slide 17 text

Independent teams require loose design-time coupling

Slide 18

Slide 18 text

Independent teams must be able to deploy without coordination and receive prompt feedback

Slide 19

Slide 19 text

Agenda Introduction to socio-technical architecture De fi ning a socio-technical architecture Growing a socio-technical architecture

Slide 20

Slide 20 text

Decisions: architecture Monolith vs. Microservices

Slide 21

Slide 21 text

Decisions: organizations Understaf fi ng => slow delivery insuf fi cient execution capacity insuf fi cient cognitive capacity Overstaf fi ng => slow delivery Excessive coordination overhead

Slide 22

Slide 22 text

https://quotesgram.com/einstein-quotes-on-simplicity/

Slide 23

Slide 23 text

Simplest possible socio-technical architecture: buy

Slide 24

Slide 24 text

Simplest possible socio-technical architecture: build Too sim ple for m ost applications (Probably)

Slide 25

Slide 25 text

Simplest possible socio-technical architecture: practical

Slide 26

Slide 26 text

Growing workload + cognitive load of existing system => stresses a socio-technical architecture

Slide 27

Slide 27 text

Socio-technical friction: obstacles to fast fl ow

Slide 28

Slide 28 text

Architecture as a set of design decisions https://microservices.io/post/architecture/2023/10/16/about-a-service-exists-to-solve-problems.html

Slide 29

Slide 29 text

Grow the socio-technical architecture one design decision at a time

Slide 30

Slide 30 text

Organization and architecture must often evolve together to maintain fast fl ow

Slide 31

Slide 31 text

Agenda Introduction to socio-technical architecture De fi ning a socio-technical architecture Growing a socio-technical architecture

Slide 32

Slide 32 text

Socio-technical transformations to reduce friction

Slide 33

Slide 33 text

Add team member Expands execution capacity (person- hours) Adds cognitive capacity Adds missing skills and capabilities

Slide 34

Slide 34 text

Split team “socio-technical mitosis”

Slide 35

Slide 35 text

When to split a team: Team size > 15 Coordination overhead within a team ∝ to n × (n – 1)/2 (N = team size), e.g. Architecture advice process involves more people Loss of shared understanding of change Loss of psychological safety …

Slide 36

Slide 36 text

When to split a team: problem domain exceeds cognitive capacity of an individual Team members struggle to reason about end-to-end business fl ows Meetings revolve around clarifying business rules, not implementing them The same concepts get re-explained differently by different people Decisions slow because domain knowledge is fragmented

Slide 37

Slide 37 text

When to split a team: software has grown too large Cognitive overload - nobody has a broad understanding of the code base It doesn’t fi t in a developer’s brain Members complain about lack of documentation Team members specialize on different parts of the code base - becomes a team of teams

Slide 38

Slide 38 text

Realign with fl ow

Slide 39

Slide 39 text

Extract service…

Slide 40

Slide 40 text

… Extract service

Slide 41

Slide 41 text

Adding a platform group

Slide 42

Slide 42 text

Example: microservices platforms https://microservices.io/post/architecture/2025/05/06/microservices-platforms-team-topologies-patterns.html

Slide 43

Slide 43 text

Adding an enabling team

Slide 44

Slide 44 text

Summary: fast fl ow socio-technical architecture

Slide 45

Slide 45 text

Summary: start with simplest socio-technical architecture and incrementally evolve to maintain fast fl ow

Slide 46

Slide 46 text

Summary: growth requires loose design-time coupling

Slide 47

Slide 47 text

Summary: transform to eliminate friction

Slide 48

Slide 48 text

[email protected] Questions? http://adopt.microservices.io https://www.linkedin.com/in/pojos