11 Architectures that flow
This chapter covers
- Set-based design and the last responsible moment
- Value stream mapping at the system level
- Theory of Constraints applied to architecture
- Pull systems, backpressure, and drum-buffer-rope
- Takt time and matching system rhythm to demand
- Jidoka, circuit breakers, and stopping defects at the source
- Recognizing and avoiding architectural overproduction
A team writes perfectly clean code. Their retrospectives are disciplined. WIP limits are respected. Code reviews close within hours. And yet, a checkout request takes 1.8 seconds to complete because it passes through six synchronous microservices, hits a shared PostgreSQL instance that locks under concurrent writes, and waits for an API gateway that becomes a single point of failure every Friday afternoon when traffic spikes. The team optimized everything they could see at the code and process levels.
The architecture, invisible on their sprint board, was the actual constraint. Architecture is the system of decisions that shapes how value moves through software. It determines where work flows smoothly, where it waits, where complexity accumulates, and how easily change can reach production safely. In that sense, architecture is not just structure or technology choice, but the value stream of your running system: queues form between microservices, bottlenecks emerge at shared databases, and overproduction accumulates as unused endpoints, speculative abstractions, and services nobody calls.