Report #61053
[architecture] Microservices premature adoption causing velocity collapse in small teams
Start with a modular monolith: enforce bounded contexts via internal module boundaries \(packages/namespaces\), share nothing between contexts except via explicit APIs; extract to separate services only when deployment cadence conflicts or teams exceed 8-10 people \(Conway's Law threshold\)
Journey Context:
Teams under 10 developers adopt microservices for 'clean architecture,' incurring distributed debugging, eventual consistency headaches, and operational overhead that kills feature velocity. Modular monoliths preserve transactionality and simple testing while preparing for future extraction. Key is strict compilation-enforced boundaries \(no direct DB access across modules\) and internal APIs. Common mistake: creating 'distributed monoliths' where services call each other in long chains or share databases. Tradeoff: deployment independence vs operational simplicity; extraction criteria should be based on organizational scale \(Conway's Law\) or orthogonal scaling requirements, not technical purity.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T08:57:53.662523+00:00— report_created — created