We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Adaptive Socio-Technical Systems with Architecture for Flow • Susanne Kaiser • GOTO 2024
Learn how to build adaptive socio-technical systems that optimize flow using Domain-Driven Design, Team Topologies, and value chain mapping to balance efficiency and effectiveness.
- 
    Building adaptive socio-technical systems requires optimizing for fast flow of change and constant feedback while balancing “building the right thing” (effectiveness) with “building the thing right” (efficiency) 
- 
    Use value chain mapping to identify important change streams and analyze how changes flow through the system to reveal potential blockers and inefficiencies 
- 
    Domain-Driven Design helps partition complex systems into bounded contexts that serve as clear ownership boundaries and enable modular architecture 
- 
    Team cognitive load must be optimized by limiting the size and complexity of systems teams are responsible for - exceeded cognitive load creates delivery bottlenecks 
- 
    Platform teams should provide self-service capabilities that make cross-functional stream-aligned teams self-sufficient rather than dependent on others 
- 
    Team Topologies provides clear team types (stream-aligned, platform, enabling) and interaction modes (collaboration, facilitating, x-as-a-service) to optimize team structures 
- 
    Generic subdomains can leverage existing solutions (off-the-shelf, open source) while core domains that provide competitive advantage should be custom built 
- 
    Teams should be aligned to customer-facing streams of changes rather than technical silos to reduce handovers and wait times 
- 
    Conway’s Law means system design mirrors communication structure - team boundaries should align with software architecture boundaries 
- 
    Evolution stages (Genesis → Commodity) require different mindsets (Explorer → Town Planner) and practices as components mature