4 ms·
I've never really agreed with this assertion. What gives it the weight of being an axiom?
by junon 3y ago
I've never really agreed with this assertion. What gives it the weight of being an axiom?
- pavlov 3y agoCommunication flows create dependency points that limit what the design can be. Consider an organization that designs broom handles. They have an industrial design department that selects the shape and material, and a market research department that selects the color and packaging to fit current trends. If the market research is purely downstream from the industrial design, their feedback can never affect the tactile properties of the product, thus limiting the range of possible designs. Replace the physical product with an abstract system, and the same design dependency issues apply.
- btbuildem 3y agoI would say it's very hard if not impossible to find a counterexample.
- zeroonetwothree 3y agoI have certainly worked on software that didn’t follow it (ownership of one thing was spread out across different teams). But it was certainly a huge pain to get anything done. So I think the reasons we typically follow Conways law are good
- munificent 3y agoConway's basic argument is pretty simple: 1. For any two software systems to interact, they must use some sort of agreed API or protocol. 2. In order to have that agreed API or protocol, the teams building those two systems must communicate in some way (even if it's just one-way communation where one team documents an API and the other consumes it). 3. Therefore, the communication structures of the software system will reflect the communication structures of the organization. So the software architecture mirrors the org chart.