RSS Amplifier

Jacob · Jul 13, 2025

Principles, Laws, and Razors in Software Engineering

0
Sign in to vote or save

Jacob Antony · Jacob

A living list of principles tangential to software development, human behavior, project management, and system design.

  • Hanlon's Razor: Never attribute to malice that which is adequately explained by stupidity.

  • Dunning-Kruger Effect: Unskilled individuals tend to overestimate their ability, while experts tend to underestimate their own.

  • Ostrich Effect: The tendency to avoid or ignore negative information.

  • Cunningham's Law: The best way to get the right answer on the internet is not to ask a question; it's to post the wrong answer.

  • Ringelmann Effect: Individual members of a group tend to become less productive as the size of their group increases.

  • Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.

  • Brooks's Law: Adding manpower to a late software project makes it later.

  • Parkinson's Law: Work expands so as to fill the time available for its completion.

  • Ninety-Ninety Rule: The first 90% of the code takes 90% of the time. The remaining 10% takes the other 90% of the time.

  • Conway's Law: Organizations design systems that mirror their own communication structure.

  • Gall's Law: A complex system that works is invariably found to have evolved from a simple system that worked.

  • Occam's Razor: Entities should not be multiplied beyond necessity.

  • Hyrum's Law: All observable behaviors of your system will be depended on by somebody.

  • Sturgeon's Law: Ninety percent of everything is crap.

  • Pareto Principle: Roughly 80% of the effects come from 20% of the causes.

  • Goodhart's Law: When a measure becomes a target, it ceases to be a good measure.

  • Price's Law: 50% of the work is done by the square root of the total number of people who participate in the work.

  • Murphy's Law: Anything that can go wrong will go wrong.

  • Mosher's Law: Don't worry if it doesn't work right. If everything did, you'd be out of a job.

  • Law of Demos: In general, when something is being demonstrated, it will fail.

  • Postel's Law (Robustness Principle): Be conservative in what you do, be liberal in what you accept from others.

  • Tesler's Law: Every application has an inherent amount of complexity that cannot be removed or hidden.

  • Linus's Law: Given enough eyeballs, all bugs are shallow.

  • The Peter Principle: In a hierarchy, every employee tends to rise to their level of incompetence.

  • Chesterton's Fence: Do not remove a fence until you know why it was put up in the first place.

  • The Boy Scout Rule: Always leave the code better than you found it.

  • Single Responsibility Principle: A class should have one, and only one, reason to change.

  • Amara's Law: We tend to overestimate the effect of a technology in the short run and underestimate the effect in the long run.

  • Sayre's Law: In any dispute the intensity of feeling is inversely proportional to the value of the issues at stake.

  • Law of Triviality (Bikeshedding): Members of an organization give disproportionate weight to trivial issues.

  • < TODO: add more here >

Read the original on jacobantony.substack.com

Comments

Nothing yet. Say the first thing.

    Sign in to join the conversation.