08

Systems

Hyrum's Law

Implicit Contract.

The article

If

With a sufficient number of users, every observable behavior of your system (even bugs) will be depended on by someone.

Then

"Internal" doesn't exist once you have users. Version and feature-flag what you promise; deliberately vary what you do not, so nobody can build on it in the first place.

Unless

Deliberate Varianceif every observable behaviour were sacred nothing could ever change, so vary what you never promised — randomised iteration order, planned outages — and the dependency never forms

Source

Hyrum Wright, hyrumslaw.com; canonicalized in Software Engineering at Google (Winters, Manshreck, Wright, 2020).

Go to the source

See also