Conways-Law

Conway's Law states that the design of any system will directly reflect the communication structure of the organization that built it. Essentially, if your company has separate teams that rarely talk, the software they create will likely have separate, distinct parts that don't easily work together.

For example, if a bank has a separate department for online banking and another for mobile banking, they might end up with two completely distinct and perhaps redundant systems for handling customer accounts, even if the underlying data is the same.

This happens because teams naturally build components that align with their own communication lines. So, if you want to change how a software system is designed, you often need to first consider changing how the teams building it are organized and how they communicate with each other.