6 ms·
If you want to dig into Conway's law and its implications, I can't recommend this video essay by Casey Muratori enough: https://youtu.be/5IUj1EZwpJY?si=dPxsXieB
by krig 3y ago
If you want to dig into Conway's law and its implications, I can't recommend this video essay by Casey Muratori enough: https://youtu.be/5IUj1EZwpJY?si=dPxsXieBwZsP0PPP https://youtu.be/5IUj1EZwpJY?si=dPxsXieBwZsP0PPP
Fair warning though, you'll lose all hope that companies like Microsoft will ever manage to produce anything that they don't then ruin.
- Xelbair 3y ago>Fair warning though, you'll lose all hope that companies like Microsoft will ever manage to produce anything that they don't then ruin. you are implying that we still had any hope left in such endeavors.
- jiggawatts 3y agoOh. My. God. This video explains everything I've seen in the enterprise IT of a huge government org that was the result of a long series of back-to-back mergers and splits. It's exactly this! Conway's law, but over time. Dysfunction not just because of the large hierarchy, but also because of the built up layers of history. Some elements still limping along, some essentially amputated and mere phantom limbs of the org tree now, some outright dead and spreading miasma and corruption from their decay. I knew or suspected most of this, but to hear it said out loud so clearly has crystallised my understanding of it.
- krig 3y agoYeah once it hits, it really explains so much of the issues in large organizations (and explains a lot about small organizations / indie development as well). For example, why is it that mergers and buyouts rarely work out? Conway's law largely explains it! When a product is bought by an organization, the result is an integration over time of both organization org-charts combined. If the companies are both large, this immediately becomes an intractable mess. If the original company was small and the new company is large, it _also_ becomes intractable because now different teams will have to communicate to manage or split components that don't fit the communication patterns of the new organization, and will lead to large refactors and rewrites and in the end the essential qualities of the original software will inevitably change. Even if you know this, there is nothing you can do - you have to organize yourself somehow and how you do that can't be left up to just mirror whatever this piece of software that was brought in happens to be organized - because _that too_ doesn't reflect an actual org chart but is an integration over time of all org charts that have touched it. I don't even know how to think about the implications this has for the use of open source software and how open source is developed, like... I think there are huge opportunities for research into Conway's law and how it relates to software development practices, software quality, etc.
- jiggawatts 3y agoI have this naively optimistic hope that AIs will allow orgs to scale units past Dunbar’s number. We humans can’t effectively communicate with groups larger than about 7 people, but AIs have no such limits. We could all simply talk to one manager that can integrate everything and everyone into a unified whole. It’s like the ship Minds in the Culture series having hundreds or even thousands of conversations at once.
- krig 3y agoThat's an interesting thought, yeah... technology and communication are definitely interwoven, things are possible today that were impossible before computers simply due to communication constraints. One could imagine a large number of practically autonomous small teams organized "automatically", more mirroring a neural network than a hierarchy.
- pixelfarmer 3y agoThe problem is always communication because it is the means to cooperate. The root of many issues in software development is the simple fact that instead of letting the required communication pathways define the organization, it is the organization which defines the pathways and through that causes communication obstructions. "Not Just Bikes" has a good few videos, including https://www.youtube.com/watch?v=n94-_yE4IeU https://www.youtube.com/watch?v=n94-_yE4IeU and a couple more that talk about problems that larger roads effectively cause more traffic ("induced demand", "traffic generation"). Organizational structures are like roads, and like roads they can get overloaded, which in turn means traffic needs to be reduced. There is even communication jam, and to combat that something like enforced communication reduction (lower information throughput), etc. to keep this manageable. That also causes decision making being done with less and less information the more steps are included in a communication chain (like upwards/downwards in a hierarchy), which in turn means the quality of decision making is severely hampered by it. This whole mess is also the reason why the agile manifesto puts humans before processes and other such things, in fact it implies you change even the organizational setup to fit the project, not the other way around. But in the space of "managerial feudalism" (David Graeber) this is pretty much impossible to pull off.
- deleted 3y ago[deleted]
- ConcernedFish 3y agoI've watched a lot of Casey Muratori's other presentations but just happened to find this one last week and I wholeheartedly agree. Like many people I'd heard of Conway's Law but always imagined it as a pithy truism and hadn't thought that the effects could run so deep. Casey's example is focused on a (frankly, ridiculously) large organisation but I've seen the same thing in numerous small companies with just 20-30 developers, and it's hard not to imagine that this is universal, which is a pretty depressing thought. Recently I've been involved in a new project where teams were set up to be 'domain-specific' with the idea that this somehow avoided the issues of Conway's Law, but this just feels like exactly the same problem because team structures and the software that they end up producing is siloed in exactly the same way as the organisation structures that existed at the time. Casey's point that the final design is inherently limited by the lack of high-bandwidth communication between the groups of people that need it most is also fairly demotivating, personally. Tangentially, having been writing more Golang recently this made me think of Golang's mantra (or was it Rob Pike's quote) of "Don't communicate by sharing memory; share memory by communicating.". Go/CSPs concurrency and sharing model is interesting, but I wonder if it's a fair analogue to compare sharing memory by communicating as low-bandwidth communication, and communication by sharing memory as the high-bandwidth communication that seems to be needed for effective designs.
- paulsutter 3y agoMicrosoft has moved very quickly to add LLM functionality to multiple products Literally the opposite of LinkedIn. I’m approximately user 5000 on linkedin, and since I joined almost nothing useful has been added, despite a huge increase in complexity
- baobabKoodaa 3y agoCome on now, that's not true. Every week LinkedIn adds a new email marketing category which you haven't opted-out of yet, because it didn't exist before.
- badpun 3y agoExactly. Remember that we are not customers, we are the product. Presumably, LinkedIn is adding a lot of useful features for their actual customers, they're just not visible to us.
- krig 3y agoLinkedIn and Microsoft are the same, that said I personally think the rush to push LLMs into everything is entirely consistent with my prediction and with the internal structure of Microsoft (current and historical).
- Temporary_31337 3y agoWhat’s broken with current office 365? It’s a good product and service.
- AdrianB1 3y agoThis is what you see from the outside. LinkedIn also looks good from outside. This is the entire point of the story.
- rajamaka 3y agoIf the user experience is good, then the product is good. Users don't care about build time or internal dependency management.
- __s 3y agoBuild time & internal dependency management are just a few markers used to predict where user experience will go in the future
- throwaway14356 3y agoMaking something look good is very popular but entirely different from actual quality.
- CoastalCoder 3y ago> LinkedIn also looks good from outside. I partially disagree. IIRC their search is broken, and their job alerts are pretty lousy at de-duplicating advertised positions. And IIRC they hijack the back button, which I find pretty offensive.
- speed_spread 3y agoThe existence of the product is broken. Office suites should not be web applications.
- chasd00 3y ago
- Xcelerate 3y agoDoes Conway’s law imply that an organization of size 1 produces a system with components that are optimally integrated? I sometimes wonder what would happen if a company hired 100 software engineers, gave them all the same task to program the entire thing independently on their own, and then paid them as a monotonic function of the ranking of their output against their peers. (Obviously, there are limits on what type of product could be developed here, but I think this still encompasses far more company products than you would suspect.)
- krig 3y agoAn organization of size 1 has other constraints, like time.. But also, Conway's law applies outside the organization as well, communication constraints shape society at large and the way a society is organized limits the communication channels available. On the topic of Microsoft/Linkedin, aren't they the ones who used to or maybe still assign the same task to multiple teams and let the teams compete for who can deliver? That does sound vaguely like what you propose.
- throwaway14356 3y agoRun all 100 in parallel in production and monitor for inconsistencies.
- Xcelerate 3y agoI remember one time we had to provide some important numbers to auditors. A data analyst on the team wrote some queries to collect this information, but my manager decided to write his own queries independently as a consistency check. The numbers didn’t match at all. So he asked me to write my own queries as well to see who was right. Lo and behold, my numbers didn’t match either of theirs at all.
- throwaway14356 3y ago3 wrongs makes for a much more interesting conversation than 1
- 3y ago
- cbm-vic-20 3y agoI've witnessed what Casey calls "Conway's Nightmare" (at 32:04 in his video) firsthand- it is definitely real. Basically, a software system isn't necessarily just a reflection of an organization, it's an amalgamation of all of the organizations that worked on the software system in the past.