Modern architecture requires a socio-technical approach. Jointly optimizing the organization and software architecture is necessary to achieve optimal organizational performance. More than a well-designed software architecture is needed to achieve fast flow because teams may be organized in a way that introduces friction and bottlenecks into their workflow. Teams must work on the same code and, as a result, must synchronize their changes and deployments or risk tripping over each other.
Ideally, teams should form part of independent value streams. As explained in chapter 6, a value stream is all of the steps a team goes through, from discovering unmet user needs in a subdomain for which they are responsible to designing solutions, implementing them in software, and deploying and supporting them in production. Fast flow is enabled by independent value streams, where teams have responsibility for everything in the value stream, from the conceptual subdomain to the software needed to implement the subdomain’s capabilities.