Skip to main content

Software Laws

Fail Loud Fail Fast

  • Signal failure immediately
  • Make failure obvious
  • Build warnings into microsystems (services/contracts/experiments/bets)

Conway's Law

Any piece of software reflects the organisational communication structure that produced it.

Related to product design and the observed impact of communication structures on software output.

  • a tight-knit group with coordinated behaviour creates software with entwined features and code.
  • a more relaxed, decentralised team, meanwhile, creates more modular software.

Wirth's Law

Software gets slower faster than hardware gets faster

Postel's Law

Be conservative in what you send, be liberal in what you accept

Knuth's Law

Premature optimization is the root of all evil

Eagleson's Law

Any code of your own that you haven't looked at for six or more months might as well have been written by someone else.