What is Conway's Law and how does it influence microservices team structure?

Answer

Conway's Law states: "Organizations which design systems are constrained to produce designs which are copies of the communication structures of those organizations." In practice, the architecture of your software mirrors your team structure. If three teams share one codebase, you get a monolith. If each team owns an independent service, you get microservices. The Inverse Conway Maneuver deliberately restructures teams to drive the desired architecture — organize teams around business capabilities (the bounded contexts you want as services) to produce services that match those boundaries. Team Topologies (by Skelton and Pais) extends this with four team types: Stream-aligned teams (own services end-to-end), Enabling teams (help others adopt new practices), Complicated-subsystem teams (own especially complex services), and Platform teams (provide internal infrastructure). Cognitive load is the key constraint — a team can only own what it can fully understand and operate.