[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)