Laws of Software Engineering Roadmap

Named laws, principles, and heuristics that every software engineer should know.

3 stages · 11 topics 0% done
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.