For reference (as per Wikipedia):
Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization’s communication structure.
— Melvin E. Conway
Imagine interpreting that as advice on how you should try to design things, lol.
Tbf, I think most of the post is just typical LinkedIn fluff, but I didn’t want to take the poor fellow out of context.
Management should not exist
No software project should have more than 3 contributors
GUIs should not exist either
The internet was a mistake as well
RIP Linux
We can all agree on the last point
Many people believe that creating the universe was also a bad move.
But how far away is the chemist’s?
Point two can be argued about if we say “no software project should have more than three responsible people.” Anyone can contribute, but there are at most three people deciding how the code should be and keeping an overview over everything.
Sound strange? How would we have ever landed on the moon with this? Answer: develop the whole system as a set of libraries that form a nice dependency tree all the way up to the one library that executes rocket launch on button press.
Each library does one thing very well, and each library is designed with the passion and thoughtfulness of someone’s hobby open source project.
There’s another way to see it: If a project has more than three contributors it’s not doing one thing, and one thing well, and should be split up.