Skip to content
Stack&Skill

Loading search…

Principles

The laws we keep relearning

Every engineer can quote a few of these. Fewer have watched one play out in production. Here they are, with the articles that put them to the test, and the debates they start.

14 principles · 0 with articles

The laws

  1. 01 #conways-law

    Conway's law

    “Organizations design systems that mirror their own communication structure.”

    Melvin Conway, 1967

    Seen it in production? Write it up, tagged conways-law

  2. 02 #hyrums-law

    Hyrum's law

    “With enough users of an API, every observable behavior of your system will be depended on by somebody.”

    Hyrum Wright

    Seen it in production? Write it up, tagged hyrums-law

  3. 03 #galls-law

    Gall's law

    “A complex system that works is invariably found to have evolved from a simple system that worked.”

    John Gall, Systemantics, 1975

    Seen it in production? Write it up, tagged galls-law

  4. 04 #brooks-law

    Brooks's law

    “Adding people to a late software project makes it later.”

    Fred Brooks, The Mythical Man-Month, 1975

    Seen it in production? Write it up, tagged brooks-law

  5. 05 #premature-optimization

    Premature optimization

    “Premature optimization is the root of all evil (or at least most of it) in programming.”

    Donald Knuth, 1974

    Seen it in production? Write it up, tagged premature-optimization

  6. 06 #kernighans-law

    Kernighan's law

    “Debugging is twice as hard as writing the code. So if you write it as cleverly as you can, you are not smart enough to debug it.”

    Brian Kernighan and P. J. Plauger, The Elements of Programming Style

    Seen it in production? Write it up, tagged kernighans-law

  7. 07 #postels-law

    Postel's law

    “Be conservative in what you send, and liberal in what you accept.”

    Jon Postel, the robustness principle (RFC 761)

    Seen it in production? Write it up, tagged postels-law

  8. 08 #goodharts-law

    Goodhart's law

    “When a measure becomes a target, it ceases to be a good measure.”

    Charles Goodhart, as phrased by Marilyn Strathern

    Seen it in production? Write it up, tagged goodharts-law

  9. 09 #littles-law

    Little's law

    “The average number of requests in a system equals their arrival rate times the average time each one spends inside (L = λW).”

    John Little, 1961

    Seen it in production? Write it up, tagged littles-law

  10. 10 #amdahls-law

    Amdahl's law

    “The speedup from running in parallel is limited by the part of the work that must stay sequential.”

    Gene Amdahl, 1967

    Seen it in production? Write it up, tagged amdahls-law

  11. 11 #cap-theorem

    The CAP theorem

    “When the network partitions, a distributed data store has to choose between consistency and availability.”

    Eric Brewer, 2000; proved by Gilbert and Lynch, 2002

    Seen it in production? Write it up, tagged cap-theorem

  12. 12 #distributed-fallacies

    The fallacies of distributed computing

    “The network is reliable, latency is zero, bandwidth is infinite… and every one of these assumptions is false.”

    L. Peter Deutsch and others at Sun Microsystems

    Seen it in production? Write it up, tagged distributed-fallacies

  13. 13 #law-of-demeter

    The law of Demeter

    “A unit should talk only to its immediate collaborators, not to their collaborators.”

    Northeastern University, the Demeter project, 1987

    Seen it in production? Write it up, tagged law-of-demeter

  14. 14 #hofstadters-law

    Hofstadter's law

    “It always takes longer than you expect, even when you take into account Hofstadter's law.”

    Douglas Hofstadter, Gödel, Escher, Bach, 1979

    Seen it in production? Write it up, tagged hofstadters-law

Keyboard shortcuts

Reading

Next article (older)
j
Previous article (newer)
k

Search

Search articles
/
Command palette (⌘ K on a Mac)
Ctrl+K

Go to

Home
gthenh
All articles
gthena
Topics
gthent
Learning paths
gthenp
Reading list
gthenr
Leaderboard
gthenl

Help

Show these shortcuts
?