Skip to main content
💻⚡🏗️🧪🐛communitySource: lawsofsoftwareengineering.comeveryone

Laws of Software Engineering

A collection of principles and patterns that shape software systems, teams, and decisions.

5 min read985 words

Laws of Software Engineering #

A collection of principles and patterns that shape software systems, teams, and decisions.

56 laws • Click any card to learn more

LevelAll Junior Mid-Level SeniorCategoryAll Architecture Teams Planning Quality Scale Design DecisionsTeams## Conway's Law

Organizations design systems that mirror their own communication structure.

Planning## Premature Optimization (Knuth's Optimization Principle)

Premature optimization is the root of all evil.

Architecture## Hyrum's Law

With a sufficient number of API users, all observable behaviors of your system will be depended on by somebody.

Quality## The Boy Scout Rule

Leave the code better than you found it.

Design## YAGNI (You Aren't Gonna Need It)

Don't add functionality until it is necessary.

Teams## Brooks's Law

Adding manpower to a late software project makes it later.

Architecture## Gall's Law

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

Architecture## The Law of Leaky Abstractions

All non-trivial abstractions, to some degree, are leaky.

Architecture## Tesler's Law (Conservation of Complexity)

Every application has an inherent amount of irreducible complexity that can only be shifted, not eliminated.

CAPArchitecture## CAP Theorem

A distributed system can guarantee only two of: consistency, availability, and partition tolerance.

Architecture## Second-System Effect

Small, successful systems tend to be followed by overengineered, bloated replacements.

Architecture## Fallacies of Distributed Computing

A set of eight false assumptions that new distributed system designers often make.

Architecture## Law of Unintended Consequences

Whenever you change a complex system, expect surprise.

+++++Architecture## Zawinski's Law

Every program attempts to expand until it can read mail.

150Teams## Dunbar's Number

There is a cognitive limit of about 150 stable relationships one person can maintain.

Teams## The Ringelmann Effect

Individual productivity decreases as group size increases.

NTeams## Price's Law

The square root of the total number of participants does 50% of the work.

?⚙⚙Teams## Putt's Law

Those who understand technology don't manage it, and those who manage it don't understand it.

Teams## Peter Principle

In a hierarchy, every employee tends to rise to their level of incompetence.

1Teams## Bus Factor

The minimum number of team members whose loss would put the project in serious trouble.

✓?Teams## Dilbert Principle

Companies tend to promote incompetent employees to management to limit the damage they can do.

Planning## Parkinson's Law

Work expands to fill the time available for its completion.

90%+90%Planning## The Ninety-Ninety Rule

The first 90% of the code accounts for the first 90% of development time; the remaining 10% accounts for the other 90%.

+Planning## Hofstadter's Law

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

Planning## Goodhart's Law

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

Planning## Gilb's Law

Anything you need to quantify can be measured in some way better than not measuring it.

Quality## Murphy's Law / Sod's Law

Anything that can go wrong will go wrong.

Quality## Postel's Law

Be conservative in what you do, be liberal in what you accept from others.

Quality## Broken Windows Theory

Don't leave broken windows (bad designs, wrong decisions, or poor code) unrepaired.

$%Quality## Technical Debt

Technical Debt is everything that slows us down when developing software.

Quality## Linus's Law

Given enough eyeballs, all bugs are shallow.

Quality## Kernighan's Law

Debugging is twice as hard as writing the code in the first place.

Quality## Testing Pyramid

A project should have many fast unit tests, fewer integration tests, and only a small number of UI tests.

Quality## Pesticide Paradox

Repeatedly running the same tests becomes less effective over time.

Quality## Lehman's Laws of Software Evolution

Software that reflects the real world must evolve, and that evolution has predictable limits.

Quality## Sturgeon's Law

90% of everything is crap.

Scale## Amdahl's Law

The speedup from parallelization is limited by the fraction of work that cannot be parallelized.

Scale## Gustafson's Law

It is possible to achieve significant speedup in parallel processing by increasing the problem size.

Scale## Metcalfe's Law

The value of a network is proportional to the square of the number of users.

1Design## DRY (Don't Repeat Yourself)

Every piece of knowledge must have a single, unambiguous, authoritative representation.

Design## KISS (Keep It Simple, Stupid)

Designs and systems should be as simple as possible.

Design## SOLID Principles

Five main guidelines that enhance software design, making code more maintainable and scalable.

ABCDesign## Law of Demeter

An object should only interact with its immediate friends, not strangers.

Design## Principle of Least Astonishment

Software and interfaces should behave in a way that least surprises users and other developers.

Decisions## Dunning-Kruger Effect

The less you know about something, the more confident you tend to be.

Decisions## Hanlon's Razor

Never attribute to malice that which is adequately explained by stupidity or carelessness.

Decisions## Occam's Razor

The simplest explanation is often the most accurate one.

Decisions## Sunk Cost Fallacy

Sticking with a choice because you've invested time or energy in it, even when walking away helps you.

≠MAPREALDecisions## The Map Is Not the Territory

Our representations of reality are not the same as reality itself.

Decisions## Confirmation Bias

A tendency to favor information that supports our existing beliefs or ideas.

Decisions## The Hype Cycle & Amara's Law

We tend to overestimate the effect of a technology in the short run and underestimate the impact in the long run.

+Decisions## The Lindy Effect

The longer something has been in use, the more likely it is to continue being used.

?Decisions## First Principles Thinking

Breaking a complex problem into its most basic blocks and then building up from there.

Decisions## Inversion

Solving a problem by considering the opposite outcome and working backward from it.

80%20%Decisions## Pareto Principle (80/20 Rule)

80% of the problems result from 20% of the causes.

✗Decisions## Cunningham's Law

The best way to get the correct answer on the Internet is not to ask a question, it's to post the wrong answer.

No laws found

Try a different search term or clear filters

Source Attribution
OpenDocs keeps source fields explicit. Unknown values are labeled instead of invented.

Source domain

lawsofsoftwareengineering.com

Author

Unknown

Publisher

lawsofsoftwareengineering.com

License / usage

Unknown. Review the original source terms before republishing beyond public-safe excerpts.

Score
Version docs-phase3-2026-05-20
90

Overall quality score, confidence 81%

Source credibility90
Freshness96
Completeness100
Extraction quality75
Attribution confidence90
Readability
difficult | grade 11.7 | format 60

57 sentences, 1 headings, 0 list items.

Use lists for steps, requirements, or extracted facts when appropriate.

Keep source attribution visible in the rendered document.

Search Appearance
canonical document page
OpenDocs keeps inspected URLs, canonical URLs, snippets, and rich-result signals explicit; Search Console metrics are not treated as visits.
Social Card
Laws of Software Engineering
A collection of principles and patterns that shape software systems, teams, and decisions.
Duplicate State
No duplicate is asserted on this page without a matching canonical URL or content hash cluster.
Trace
docs-score-4ec325307c2583a83c6a3feb
Export
Use public export endpoints for Markdown/JSON. Protected publishing still requires PLATPHORM_API_KEY.

Related Documentation

👥

Chert | iMessage Infrastructure for Reaching People at Scale

Skip to main content https://docs.platphormnews.com/docs/chert imessage infrastructure for reaching people at scale main content Back to docs https://docs.platphormnews.com/docs Skip to content ↗ https://www.trychert.com

7 min read

👥

SEO Starter Guide: The Basics | Google Search Central | Documentation | Google for Developers

Skip to main content https://developers.google.com/search/docs/fundamentals/seo starter guide main content Google Search Central English Deutsch Español Español – América Latina Français Indonesia Italiano Polski Portugu

22 min read

👥

Chert | iMessage Infrastructure for Reaching People at Scale

Skip to content https://www.trychert.com/ main content New Chert is now live on Hacker News Check it out → https://www.trychert.com/agent Chert https://www.trychert.com/ Home https://www.trychert.com/ Blog https://www.tr

5 min read

🚀🧪📖🔍❌

Three Inverse Laws of AI - Susam Pal

9 min read

🔒🏗️📄✨🔄

GameStop Proposes to Acquire eBay at $125.00 Per Share | GameStop Corp.

GameStop Corp. (NYSE: GME) today submitted a non-binding proposal to acquire 100% of eBay Inc. (NASDAQ: EBAY) at $125.00 per share in cash and stock. The offer represents a 46% premium to eBay’s unaffected closing price on February 4, 2026, the day GameStop started accumulating its position in eBay. GameStop has built a 5% economic stake in eBay through derivatives and beneficial ownership of common stock. GameStop is filing a Schedule 13D and HSR notification tomorrow. The full proposal letter and accompanying materials are available at investor.gamestop.com/ebay . The proposed offer is $125.00 per share, comprising 50% cash and 50% GameStop common stock, with full shareholder election rights as to consideration type and pro-rata allocation. Aggregate undiluted equity value is approximately $55.5 billion, based on eBay’s most recently disclosed undiluted share count, representing a 27% premium to the 30-day VWAP and a 36% premium to the 90-day VWAP. The transaction is conditioned on

11 min read