**Summary of "Laws of Software Engineering"**
**What it is:**
A curated collection of 63+ principles, patterns, and "laws" that shape software systems, teams, and decisions. It's presented as a website and an accompanying book by Dr. Milan Milanović, a software engineer with 20+ years of experience.
**Key Content:**
The site organizes these laws into seven categories:
- **Architecture** (e.g., Conway's Law, Hyrum's Law, CAP Theorem)
- **Teams** (e.g., Brooks's Law, Dunbar's Number, Peter Principle)
- **Planning** (e.g., Hofstadter's Law, Parkinson's Law, Ninety-Ninety Rule)
- **Quality** (e.g., Boy Scout Rule, Technical Debt, Linus's Law)
- **Scale** (e.g., Amdahl's Law, Metcalfe's Law)
- **Design** (e.g., DRY, KISS, SOLID Principles)
- **Decisions** (e.g., Dunning-Kruger Effect, Occam's Razor, Sunk Cost Fallacy)
Each law includes a concise explanation and often references its origin (e.g., a book, a researcher, or a well-known anecdote).
**Why it matters:**
1. **Knowledge Consolidation:** These lessons are scattered across decades of books, blogs, and tribal knowledge. This site brings them together in one accessible place.
2. **Practical Guidance:** The laws serve as "rules of thumb" for real-world software engineering challenges—helping with project planning, team scaling, architectural design, code quality, and decision-making.
3. **Preventing Repeated Mistakes:** By understanding these patterns, engineers and managers can avoid common pitfalls (e.g., why adding people to a late project makes it later, why estimates are often wrong, why complex systems often fail).
4. **Educational Resource:** It's useful for both new developers learning the field and experienced practitioners looking to formalize their intuition.
**Additional Features:**
- A downloadable PDF poster of all laws.
- A book expanding on the concepts.
- A newsletter for updates.
- Licensed under Creative Commons for non-commercial use.
In short, the site is a practical, organized reference for software engineering wisdom that helps professionals make better decisions and build better systems.