Half the engineers we’ve worked with can build the thing. Far fewer can ship it. Actually deploy it, hand it over, write the runbook, fix the first three production bugs, and stay around long enough to know whether anyone’s using it.
Shipping is the part where every shortcut you took shows up. The skipped error handling. The half-thought-through edge case. The README that says ‘TODO’. None of it matters in development. All of it matters in week one of production.
What we mean by “done”
We try to keep our internal definition simple: a feature is done when somebody outside the team is using it, we know if it broke, and the next person can read the code without asking us. Anything short of that is still in progress, no matter what the ticket says.