Hale
CraftMay 19, 20269 min read

On Shipping Half-Finished Ideas

Finished is a feeling. Shipped is a date. The work is learning how to make the unfinished part obvious and safe.

By Julian Hale · Portland, Oregon

An unfinished ceramic bowl on a potter's wheel in workshop light.

I used to treat shipping as a moral event. Either the work was ready, in which case we deserved to ship it, or it was not, in which case we were hiding. That story made me slow and a little vain. Most useful software I have shipped was half-finished in a way we could see.

The trick is not to lower the bar. The trick is to choose which part of the clay is allowed to be wet. A feature can have a crude interface if the data model is honest. It can have a limited audience if the undo path is complete. It cannot have a vague side effect and a shrug.

A shipping checklist I actually use

  • What is unfinished, said in the UI, not only in the changelog.
  • Who is allowed to touch it.
  • How we turn it off without a hero.
  • What we will measure after three days, not after the launch party.

Half-finished work that is labeled is a conversation with users. Half-finished work that is polished is a trap. I would rather ship a clay bowl that still shows the ridges of my hands than a glazed thing that leaks.