Laws of Software Engineering: Expert Consensus Report
Executive TL;DR:
- Software engineering laws are useful heuristics, not strict rules.
- Knowing when to break these laws is key to successful software development.
- Fast iteration and simple code structure are essential principles.
The Internet’s Verdict: 70% Hyped, 30% Skeptical
Introduction to Software Engineering Laws
Software engineering laws are guidelines that help developers create better software. However, they are not set in stone.
Forum Voices
Experts in the field have weighed in on the topic, sharing their thoughts on the importance and limitations of these laws.
Nice to have these all collected nicely and sharable. For the amusement of HN let me add one I’ve become known for at my current work, for saying to juniors who are overly worried about DRY: Copy-paste is free; abstractions are expensive.
This quote highlights the importance of balancing code simplicity with the need for abstraction.
Remember that these ‘laws’ contain so many internal contradictions that when they’re all listed out like this, you can just pick one that justifies what you want to justify. The hard part is knowing which law to break when, and why
This expert opinion emphasizes the need for critical thinking and judgment in applying software engineering laws.
Key Principles
Some key principles that have emerged from the discussion include the importance of fast iteration and simple code structure.
Boyd’s Law of Iteration: In analyzing complexity, fast iteration almost always produces better results than in-depth analysis.
This principle, also known as the OODA loop, highlights the value of rapid experimentation and learning in software development.
Focus Keyword: Software Laws

Leave a Reply