A list of select principles that have been particularly useful in helping design, refine, and debug complex systems (both computer & human)
Any organization that designs a system (defined broadly) will produce a design hose structure is a copy of the organization's communication structure.
— Melvin E. Conway
A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work. You have to start over, beginning with a working simple system.
– John Gall
Postel's Law (Robustness principle)
Be conservative in what you do, be liberal in what you accept from others.
n.b. the above is often reworded in the context of systems design as: "be conservative in what you send, be liberal in what you accept"
Work expands so as to fill the time available for its completion
– C. Northcote Parkinson, 1955
n.b. the above is reworded in "Four Thousand Weeks" to define "Work" as "what needs doing".
https://nomotherships.substack.com/p/doctrine