← Blog

The difference between shipping features and shipping systems.

August 20, 2026 · 5 min read

A feature is done when it works. A system is done when it keeps working — when traffic doubles, when a dependency is slow, when the next engineer changes it without knowing why it was built that way.

01

How to tell the difference

Ask what happens when the feature fails. If the answer is a shrug, it is a feature. If there are retries, alerts, a runbook and a test that exercises the failure, it is part of a system. Neither is wrong; the mistake is believing you have the second when you have the first.

02

Redefine done

"Done" should include how it fails, how we know, and who gets told.

That does not mean every change needs a design document. It means the definition of done scales with the blast radius of the change.

I build and lead teams around systems where reliability matters. If you're designing an offline workflow, evaluating an architecture, or untangling a queue that has become part of your product, I'm happy to compare notes.