Laws of Software Engineering
·2026.04.22 09:47
Key point
A collection of 56 software principles spanning teams, architecture, quality, and design.
Details
This piece compiles 56 principles and patterns that shape software systems, teams, and decision-making in one place.
Teams
- Conway's Law: An organization's communication structure is reflected in the system's structure.
- Brooks's Law: Adding manpower to a late project makes it later.
- Dunbar's Number, Ringelmann Effect, and Price's Law explain the limits of team size and productivity.
- Bus Factor, Peter Principle, and Dilbert Principle highlight problems of knowledge concentration and promotion/management.
Planning
- Premature Optimization, Parkinson's Law, 90-90 Rule, and Hofstadter's Law address the pitfalls of scheduling and estimation.
- Goodhart's Law warns that when a metric becomes a target, the metric breaks down.
- Gilb's Law states that even imperfect measurement is better than none.
Architecture
- Hyrum's Law, Gall's Law, and Leaky Abstractions point out the constraints of real-world systems and the limits of abstraction.
- Tesler's Law holds that complexity isn't eliminated, only shifted.
- CAP Theorem, Fallacies of Distributed Computing, and Second-System Effect summarize key pitfalls in distributed systems and scalable design.
Quality
- Boy Scout Rule, Murphy's Law, Postel's Law, and Broken Windows Theory emphasize continuous improvement and defensive design.
- Technical Debt, Linus's Law, Kernighan's Law, Testing Pyramid, and Pesticide Paradox cover code quality and testing strategy.
- Lehman's Laws and Sturgeon's Law explain software evolution and quality variance.
Scale
- Amdahl's Law and Gustafson's Law together show the limits and possibilities of parallelization.
- Metcalfe's Law explains that network effects can grow with the square of the number of users.
Design
- DRY, KISS, and SOLID are fundamental principles for eliminating duplication, ensuring simplicity, and separating responsibilities.
- Patterns like YAGNI, Composition over Inheritance, and Demeter's Law are also grouped together to capture practical design sense.
- Separation of Concerns and Law of Demeter point toward reducing coupling and lowering the cost of change.
Overall, this is a reference list for quickly surveying the fundamental laws of software engineering, from team operations to distributed systems, testing, refactoring, and design philosophy.
This summary was generated automatically by AI. Check the original for the author's claims and context. Copyright belongs to the original author.
Our guide explains how the AI works. Report summary errors, attribution issues, or removal requests via Contact.