- External reference: http://www.melconway.com/Home/Committees_Paper.html
- External reference: https://en.wikipedia.org/wiki/Conway%27s_law
A nice video that describes in more details its consequences (in french). https://youtu.be/GyWUN27Ercg, describing also the reverse Conway maneuver, suggesting to make team organisation reflect the wanted organisation of the code.
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
What is the difficulty here? A large part of it relates to the kind of reasoning about measurement of resources which arises from conventional accounting theory. According to this theory, the unit of resource is the dollar, and all resources must be measured using units of measurement which are convertible to the dollar. If the resource is human effort, the unit of measurement is the number of hours worked by each man times his hourly cost, summed up for the whole working force. One fallacy behind this calculation is the property of linearity which says that two men working for a year or one hundred men working for a week (at the same hourly cost per man) are resources of equal value.
Assumptions which may be adequate for peeling potatoes and erecting brick walls fail for designing systems.
organizations which design systems (in the broad sense used here) are constrained to produce designs which are copies of the communication structures of these organizations
Ways must be found to reward design managers for keeping their organizations lean and flexible. There is need for a philosophy of system design management which is not based on the assumption that adding manpower simply adds to productivity
Joe Beda @jbeda As @bryanl says: YAML is for computers. When we started with YAML we never intended it to be the user facing solution. We saw it as “assembly code”. I’m horrified that we are still interacting with it directly. That is a failure.