Conway's Law

Conway’s Law states that software systems reflect the communication structure of the organization that builds them. A company with separate frontend, backend, and database departments will likely produce a three-tier architecture. Small, distributed teams tend to produce modular service architectures, while large, collocated teams tend to build monoliths.

To mitigate this, teams can use the Inverse Conway Maneuver: intentionally structuring the organization to match the desired software architecture.

  • The architecture of software systems often mirrors the organization's org chart or team structure.
  • If your company is organized in silos, you might end up with siloed software modules that don't communicate well, reflecting those barriers.
  • To achieve a desired software architecture (e.g., microservices), you might need to restructure teams accordingly, because teams build software aligned with their communication paths.
  • When starting a project, realize that how you split teams or departments will likely lead to software boundaries at the same places.
添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论