What is Conway's Law?

Pro Search

3 steps completed
Conway's Law is a principle named after computer programmer Melvin Conway, who introduced the idea in 1967. The law describes the link between the communication structure of organizations and the systems they design. Conway's original wording was: "Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations." This means that the technical structure of a system will reflect the social boundaries of the organizations that produced it, across which communication is more difficult. In simpler terms, complex products often end up "shaped like" the organizational structure they are designed in or designed for1. The law is based on the reasoning that for a product to function, the authors and designers of its component parts must communicate with each other to ensure compatibility between the components. Therefore, the structure of a system is determined by the communication patterns of the people who design it6. Conway's Law was originally intended as a sociological observation, but it has been interpreted in various ways since its inception. For instance, it has been used humorously in The New Hacker's Dictionary, while participants at the 1968 National Symposium on Modular Programming considered it sufficiently serious and universal to dub it 'Conway's Law'1. The law is not limited to the field of software engineering. It can be applied generally to how businesses create systems and structures. For example, it can be observed in the design of some organization websites, where the content and structure often mirror the internal concerns of the organization rather than the needs of the users of the site1. Understanding and applying Conway's Law can help organizations optimize their systems for user experience. It emphasizes the need for effective communication and collaboration between different roles within an organization, such as product managers and user experience designers6. It also highlights the importance of concurrently designing the system’s modular structure and the development team’s organization6. In conclusion, Conway's Law is a valuable principle that can guide organizations in designing systems that reflect their communication structures, thereby improving the functionality and user experience of their products.
what are some examples of conway's law in practice
how can conway's law be applied to software development
what are the implications of conway's law for organizational design