Melvin Edward Conway, an American computer scientist, coined a law that generally guides the design of the applications built by an organization.
Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure. – Melvyn Conway 1967
An important aspect of the law that should be noted is that the communication structure mentioned in the law is not the same as organizational hierarchy but rather how the various teams in the organization communicate with each other. For instance, an e-commerce company might have a product team and an invoicing team. Any application designed by this organization will have a product module and an invoicing module that will communicate with each other through a common interface.
For a large enterprise with many communication channels, the application architecture will be very complex and nearly impossible to maintain.
Using...