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