Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

Socio-Technical Evolution: Growing an Architect...

Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow

My Software Architecture Gathering 2025 presentation
---
Achieving fast flow—the rapid and reliable delivery of change—requires picking the right socio-technical architecture: a combination of software architecture and organizational structure suited to your context. To paraphrase Einstein, it should be as simple as possible but no simpler. Unfortunately, many enterprises fall into the trap of over-engineering their architecture while simultaneously misaligning their teams, resulting in unnecessary complexity and friction that slows delivery.

In this presentation, I describe a strategy for starting with the simplest possible socio-technical architecture for your context and then incrementally evolving it to support fast flow. You will learn about the building blocks of socio-technical architecture. I explain how organizational structures, like architectural elements, exist to solve specific problems and must evolve as those problems change. You will learn to recognize the signals that indicate when your socio-technical architecture needs to change—and how to transform it accordingly.

Avatar for Chris Richardson

Chris Richardson PRO

November 30, 2025
Tweet

More Decks by Chris Richardson

Other Decks in Programming

Transcript

  1. 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
  2. Agenda Introduction to socio-technical architecture De fi ning a socio-technical

    architecture Growing a socio-technical architecture
  3. 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
  4. 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
  5. 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/
  6. Agenda Introduction to socio-technical architecture De fi ning a socio-technical

    architecture Growing a socio-technical architecture
  7. 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
  8. Agenda Introduction to socio-technical architecture De fi ning a socio-technical

    architecture Growing a socio-technical architecture
  9. 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 …
  10. 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
  11. 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