Half a croissant, on a plate, with a sign in front of it saying '50c'
h a l f b a k e r y

idea: add, search, annotate, link, view, overview, recent, by name, random

meta: news, help, about, links, report a problem

account: browse anonymously, or get an account and write.



People circuitry

Conway's law means that software ends up looking like the communication patterns of people who create the software. If we think of a person developer as a component of the architecture, each has IO with other people, a memory buffer of recent code, and a mind that is a central processing unit capable of rapid pattern matching and general purpose problem solving. Individual contributor's are capable of mass outputs see Linux Torvalds, Varnish developer, Guido Van Rossum, Rasmus Lerdorf. Let's take individual potential into thought of the layout of software engineering teams.
  [vote for,

Some people build software in layers.

The problem with layers is that layers form a rigid agreement of how things are seen by different layers. If you want a far reaching change you might get the expression problem and need to touch every layer for every variation.

This idea is to think of the person on a team as part of the system and to arrange them In such a way to maximise throughout.

If different people are responsible for different layers then you have a communication slowdown as you inevitably need to communicate to have successful integration.

In Google they produce new chat applications every year. There are different solutions to the same problem in Google's codebase as different teams have different problems to solve and they solve the problem slightly differently.

I see no problem with this if it causes maximum velocity. If it slows down development I would be against it.

This idea is to see the individuals developing the software as being part of the systems design and not just a body shop worker who churns out code.

Every developer is different and has solved different problems in their life. They are better at some problems over others. They have different levels of knowledge.

Some developers have machine sympathy others do not.

Let's arrange people in a circuit and optimise for code production and problem solving. Put two people on a problem and ask them to design a solution and integrate that solution everywhere.

chronological, Jul 20 2022


       //Conway's law means that software ends up looking like the communication patterns of people who create the software. //

If by that you mean "is directly the communication of the author" you're tautological. If you mean "Is kind of like the communication patterns the author uses in other media" you're generally wrong. Coding (the traditional kind, not this newfangled AI stuff) needs to be done very precisely, with all the i's dotted, every term carefully defined, and every aspect of the environment considered. There's no need to be so careful when communicating with humans.
Voice, Jul 20 2022

       You don't believe Conway's law is accurate?   

       It was accurate everywhere I worked.
chronological, Jul 20 2022

       >You don't believe Conway's law is accurate?   

       I think not only is it often inaccurate, but that if it were always accurate it still could not be generalized to computer code.
Voice, Jul 20 2022

       //There's no need to be so careful when communicating with humans// Oh right, I never realised that!
pocmloc, Jul 21 2022

       Begin informal statement.   

       Definitions: Common English. A single failure to disambiguate invalidates this entire statement.   

       Context limiter: The halfbakery post entitled People circuitry, and the fourth comment in that halfbakery post as of the date of this post.   

       Emotional context: jocular.   

       I see that you are being sarcastic. But I stand behind my claim that humans require far less context than computers require.   

       End statement
Voice, Jul 21 2022

       //You don't believe Conway's law is accurate?
It was accurate everywhere I worked//

       Hmm. Let's see.. In a cubicle farm, any empty cell with exactly two neighbours is a good place to work, and becomes occupied. But an occupant of cell with fewer than two neighbours is lonely, while those with more than three neighbours feel crowded, and in either case the occupant moves.   

       Seems about right.
Loris, Jul 21 2022

       John Conway != Melvin Conway.   

       Carry on.
pertinax, Jul 21 2022


back: main index

business  computer  culture  fashion  food  halfbakery  home  other  product  public  science  sport  vehicle