4 ms·
Everyone's favorite law to cite but I rarely see a lot of examples
by atleastoptimal 4y ago
Everyone's favorite law to cite but I rarely see a lot of examples
- walterbell 4y ago2011-era satirical org charts, https://www.globalnerdy.com/2011/07/03/org-charts-of-the-big-tech-companies-plus-an-enhancement/ https://www.globalnerdy.com/2011/07/03/org-charts-of-the-big...
- 082349872349872 4y agoHave you ever worked in a (>30)-person company? Edit: as dang posted the original article ("a principle with much broader utility than in software engineering"), I guess another example is the "county sheriff" and their occasionally newsworthy antics in the States. Reading about them from a country where counties are not a thing (nor do we suffer from their lack) makes me think the politicisation of the sheriff's office may be a less software-oriented example of Conway's law.
- bee_rider 4y agoHmm, I’m not sure. I think that example would need to be fleshed out a bit (at least, I don’t see it, but then I live in the US so maybe I’m missing the forest for the trees). Conway’s law is about the structure of the thing being built mimicking the organizational layout of the people building it. The county sheriff is just the sheriff attached to that unit of administration. It seems more like if Conway’s law was the observation that shape of the management tends to match that of the org chart. It is not really a correlation so much as a tautology.
- 082349872349872 4y agoFleshing out the example: as far as my experience goes, there is no governmental function that would be more effectively handled at a "county" level. Yet in the States the unit of administration exists, so law enforcement solutions incorporate (heh) county sheriffs departments (even when these are composed of personnel with no real law enforcement background).
- perrygeo 4y agoSome great examples in "Conway's Nightmare" https://youtu.be/5IUj1EZwpJY?t=2053 https://youtu.be/5IUj1EZwpJY?t=2053 My favorite from memory is that Windows now has five completely different volume control UIs, each of which can be traced directly to distinct product teams and their organizational dynamics across time. This video makes goes futher and says that the evidence for Conway's law is not only strong but has yet to be disproven; the closest we can get to a fundamental law in computer science. Given that software is always created for a social purpose (there are some users or beneficiaries of the technology), it's sort of a tautology that social dynamics are going to strongly influence design.
- mostafah 4y agoA funny and insightful example I’ve heard is that if you assign three teams to develop a compile you will have a three-pass compiler.
- bee_rider 4y agoIs it accurate to say that as an open source program, LLVM doesn’t really have a rigid communication structure, and it also has instead a framework that can be extended to an arbitrary number of passes?
- waynesonfire 4y agoA data pipeline. You'll see Conways law take place at team boundaries.
- yodon 4y ago>Everyone's favorite law to cite but I rarely see a lot of examples If you're looking for experimental validation of Conway's Law, the best work I'm aware of was done by Microsoft Research analyzing the Windows Vista development effort[0]. They found that organizational measures (eg. how high up in the org structure do you have to go to find every developer who contributed code to a particular DLL, etc.) were significantly better predictors of post-release code quality than traditional metrics like churn, complexity, coverage, dependencies, or pre-release bug counts. If your company builds software, there's a tax to pay if the code architecture and human architecture are poorly aligned. The bigger that misalignment, the bigger the tax. Conway's Law misalignment is like technical debt in the sense that it's always there at some level, and there are times when it's important to reduce the cost and there are times when it's better to accept the cost and focus on other taxes/debts. [0]https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2008-11.pdf https://www.microsoft.com/en-us/research/wp-content/uploads/...
- he0001 4y agoAre there some research done on Linux, as that seems to have a much more loosely coupled org?
- yodon 4y agoThe best quantitative work I'm aware of on open source vs non open source (really bazaar vs corporate) architectures as it pertains to Conway's Law is [0]. The paper isn't specifically about Linux, but I think the results of that paper would argue Linus himself makes Linux a bit of a hybrid of the two models they studied. [0]https://www.hbs.edu/ris/Publication%20Files/08-039_1861e507-1dc1-4602-85b8-90d71559d85b.pdf https://www.hbs.edu/ris/Publication%20Files/08-039_1861e507-...
- throwawaaarrgh 4y agoLiterally every company I've worked for has had an architecture defined by team boundaries. When new teams emerge, the architecture changes. It's comically accurate.
- hinkley 4y agoPlaces that don’t follow this pattern struggle, and struggle, until someone finally decides to change the project whether management likes it or not. Functionality that is split across organizational boundaries is very slow to deploy and difficult to get right. So even if someone doesn’t fix the structure, the number of features that fall within team boundaries quickly multiplies while those that aren’t so lucky grow more slowly.
- throwawaaarrgh 4y agoLet's be clear, then: there is a business problem, organizational problem, and communication problem, all of which is now dictating the software architecture. If we're saying we have to do Conway's Law, we're admitting it's because we don't want to solve the above problems. If we say we don't want to follow Conway's Law, it means we have to deal with the above problems. These problems are not insurmountable. But someone "in charge" does have to give a shit about them and decide the company is going to directly address them. And it's not just in service of architecture for its own sake; it's in service of a product being built better, so the customers and employees can be happier, which can then drive profits. You can always get profits another way - be a monopoly, exploit a market flaw, lie, cheat, steal, pressure your employees, cut costs until the product bleeds, offshore, exploit tax havens, or all of the above and more. But happy customers and employees is more sustainable. Not as much growth, but the company will still be around in 20 years without having to fight for survival.
- ghaff 4y agoYou see phenomena which are at least related to Conway's Law across organizations more broadly which is why you see companies switching back and forth between matrix organizations and functional organizations, independent product teams and cross-product orgs, and various variants of those and others. So, for example, you can have more generalist organizations that hopefully consider the needs of the portfolio as a whole and can sell the portfolio appropriately with fewer product fiefdoms. But you probably give up some of the advantages of a specialist organization that's really expert in and focused on making one product succeed in ways that are specific to that product. Of course, companies can and do create various overlay organizations that can work to greater or lesser degrees. But there are always tradeoffs. In my career, I don't think I've ever seen the right organization--only better and worse ones for the current circumstances.
- analog31 4y agoMy experience is as a supposed "hardware person" in a business that had separate silo's for hardware and software.
- rongenre 4y agoEverytime someone discusses microservices, Conway's law comes up
- lostcolony 4y agoI mean...it's self-evident if you've worked in any large software department. Well, with one caveat; there is the inverse, where a company's organization doesn't reflect its software, and there almost nothing gets done, and what does get done does so at a global pace. I've seen that too (oftentimes you get that in the startup that has grown too quickly; the only way anything can get done at all are the people who have been there since it was 50 people, since they know who to talk to).
- deleted 4y ago[deleted]
- hot_gril 4y agoMicroservice design. Part of the purpose of microservices is to more cleanly separate things by team.
- karmelapple 4y agoI'd recommend reading the book Team Topologies [1] - it was well-written and gave me some new ideas for how teams can interact. And it's deeply founded on Conway's Law, including featuring a concept called the reverse Conway maneuver [2]. (Note that the book and the reverse Conway maneuver is also mentioned in the friendly article) 1. https://teamtopologies.com https://teamtopologies.com 2. https://www.agileanalytics.cloud/blog/2022/6/team-topologies-the-reverse-conway-manoeuvre https://www.agileanalytics.cloud/blog/2022/6/team-topologies...
- dclowd9901 4y agoYour own company is likely an example. Look how the company is organized, and then look how the software is organized. You might say the software created the teams, but then who created the software?