← All writing

software · systems

Small systems age better

A short argument for fewer moving parts, clearer ownership, and software that can explain itself six months later.

The test of a small system is not whether it uses little code. It is whether one person can hold its important relationships in their head.

That kind of system has a few useful properties:

  • its state has an obvious home;
  • failures point toward a cause;
  • ownership is clear;
  • removing a feature makes the system smaller.

Complexity is sometimes the price of the problem. Accidental complexity is usually the price of delayed decisions.

I try to notice the difference.