Laws of Software Engineering Roadmap
Named laws, principles, and heuristics that every software engineer should know.
Laws of Software Engineering
✓
Conway's Law
✓
Brooks's Law
✓
Foundations
✓
Amdahl's Law
✓
Goodhart's Law
✓
Core Concepts
✓
Little's Law
✓
Parkinson's Law
✓
Postel's Law
✓
Intermediate Skills
✓
Hyrum's Law
Text version of this roadmap
1. Foundations
- Conway's Law: Organizations design systems that mirror their communication structures.
- Brooks's Law: Adding manpower to a late project makes it later due to communication overhead.
- Amdahl's Law: The speedup of a system is limited by the fraction of work that cannot be parallelized.
2. Core Concepts
- Goodhart's Law: When a measure becomes a target, it ceases to be a good measure.
- Little's Law: The average number of items in a queue equals arrival rate times average wait time.
- Parkinson's Law: Work expands to fill the time available for its completion.
3. Intermediate Skills
- Postel's Law: Be conservative in what you send, be liberal in what you accept.
- Hyrum's Law: With enough users, all observable behaviors of a system become depended on.