[HN Gopher] Conway's Law
       ___________________________________________________________________
        
       Conway's Law
        
       Author : andsoitis
       Score  : 30 points
       Date   : 2023-04-16 15:45 UTC (7 hours ago)
        
 (HTM) web link (martinfowler.com)
 (TXT) w3m dump (martinfowler.com)
        
       | GauntletWizard wrote:
       | I don't view Conway's law as casting as negative a tinge as most
       | seem to. It makes sense that responsibilities be split roughly
       | along the same lines as they are in physical organizations,
       | especially in orgs where software is not a hermetic black box but
       | represents business processes. Groups probably have need to
       | twiddle with the representations, and drawing the same lines of
       | responsibility as permissions makes a lot of sense there.
       | 
       | As a contrived and probably nonsensical example: if you have a
       | widget factory, and you have two departments, sales and
       | fulfillment, it's often better to represent a sales order as "An
       | immutable list of items sold and prices, and a mutable list of
       | references to fulfillments that satisfied that order" over "a
       | list of items sold, prices, and how many have been delivered",
       | with a separate object that is the fulfillment.
       | 
       | Those are different departments, they move at different rates,
       | and edit permissions for each should be limited to their
       | respective orgs.
        
         | throwawaaarrgh wrote:
         | An application with 10 teams shouldn't necessarily have 10
         | separate subsystems, any more than an application with 2 teams
         | should have 2 subsystems. We haven't even discussed what the
         | application _is_ or _does_ , yet somehow magically every
         | application's architecture mirrors the org chart.
         | 
         | The architecture should have nothing to do with the org chart,
         | scrum/two pizza teams, capex/opex, seed rounds, hyper-growth,
         | executive political maneuvers, etc. This is not good software
         | design, this is burearucracy run amok. Software should be
         | designed to work well, not to make an executive VP look more
         | important.
         | 
         | Not to mention those subsystems always end up as black boxes
         | because no organization has good cross team communication.
         | Quite frankly, most people have their heads all the way up
         | their asses when it comes to real software design. They just
         | draw boxes around teams of people and make that the
         | architecture, rather than asking what would actually make the
         | application work well.
        
       | dang wrote:
       | Here's Conway's original paper from 1968:
       | http://www.melconway.com/Home/Committees_Paper.html
       | 
       | Related:
       | 
       |  _Conway 's Law_ - https://news.ycombinator.com/item?id=33604268
       | - Nov 2022 (1 comment)
       | 
       |  _Bliki: Conway 's Law_ -
       | https://news.ycombinator.com/item?id=33289746 - Oct 2022 (1
       | comment)
       | 
       |  _Ask HN: Is the inverse of Conway 's Law valid, in your
       | experience?_ - https://news.ycombinator.com/item?id=31066817 -
       | April 2022 (2 comments)
       | 
       |  _How do Committees Invent? (1968) [pdf]_ -
       | https://news.ycombinator.com/item?id=30739888 - March 2022 (5
       | comments)
       | 
       |  _Conway 's Law_ - https://news.ycombinator.com/item?id=29883762
       | - Jan 2022 (12 comments)
       | 
       |  _Thoughts on Conway 's Law and the Software Stack (2019)_ -
       | https://news.ycombinator.com/item?id=24811692 - Oct 2020 (24
       | comments)
       | 
       |  _Conway 's Law_ - https://news.ycombinator.com/item?id=23501644
       | - June 2020 (2 comments)
       | 
       |  _Conway 's Law_ - https://news.ycombinator.com/item?id=22557116
       | - March 2020 (1 comment)
       | 
       |  _Conway 's Law Is Real_ -
       | https://news.ycombinator.com/item?id=19872131 - May 2019 (2
       | comments)
       | 
       |  _Thoughts on Conway 's Law and the Software Stack_ -
       | https://news.ycombinator.com/item?id=19485964 - March 2019 (22
       | comments)
       | 
       |  _Conway 's Law_ - https://news.ycombinator.com/item?id=16856537
       | - April 2018 (51 comments)
       | 
       |  _Twitter, Reddit and Conway 's Law_ -
       | https://news.ycombinator.com/item?id=16030694 - Dec 2017 (1
       | comment)
       | 
       |  _Linux follows an inverse form of Conway 's Law_ -
       | https://news.ycombinator.com/item?id=14477680 - June 2017 (58
       | comments)
       | 
       |  _Conway 's Law_ - https://news.ycombinator.com/item?id=14166113
       | - April 2017 (1 comment)
       | 
       |  _Conway 's Law_ - https://news.ycombinator.com/item?id=9631810 -
       | May 2015 (26 comments)
       | 
       |  _Conway 's law_ - https://news.ycombinator.com/item?id=9314445 -
       | April 2015 (2 comments)
       | 
       |  _How Do Committees Invent? (1968)_ -
       | https://news.ycombinator.com/item?id=8458471 - Oct 2014 (9
       | comments)
       | 
       |  _Conway 's Law: How Do Committees Invent?_ -
       | https://news.ycombinator.com/item?id=4727178 - Nov 2012 (1
       | comment)
       | 
       |  _Conways ' Law_ - https://news.ycombinator.com/item?id=437786 -
       | Jan 2009 (2 comments)
       | 
       |  _Conway 's Law (A software system will resemble the organization
       | that built it)_ - https://news.ycombinator.com/item?id=82997 -
       | Nov 2007 (3 comments)
        
       | atleastoptimal wrote:
       | Everyone's favorite law to cite but I rarely see a lot of
       | examples
        
         | perrygeo wrote:
         | Some great examples in "Conway's Nightmare"
         | 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 wrote:
         | A 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.
        
         | waynesonfire wrote:
         | A data pipeline. You'll see Conways law take place at team
         | boundaries.
        
         | throwawaaarrgh wrote:
         | Literally 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.
        
         | yodon wrote:
         | >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/...
        
         | walterbell wrote:
         | 2011-era satirical org charts,
         | https://www.globalnerdy.com/2011/07/03/org-charts-of-the-big...
        
         | 082349872349872 wrote:
         | Have 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.
        
       | User23 wrote:
       | Understanding this is of especial importance for remote first
       | organizations.
        
         | walterbell wrote:
         | With Zoom-in-the-Middle communications security.
        
       ___________________________________________________________________
       (page generated 2023-04-16 23:00 UTC)