On Completion
A short essay on what "done" means. It means done.
Overview
Completion is the state in which a thing is finished. This is a more controversial claim than it sounds. The word "done" has been, per the founding text of Aggressive Craftsmanship, "misused so severely that it can no longer be trusted without qualification."[1]
Degrees of "Done"
In practice, the following gradient is widely observed (and widely resented):
| LABEL | ACTUAL MEANING |
|---|---|
| "Done" | Sometimes: done. Often: compiles. |
| "Done done" | Done, with irritation that "done" wasn't sufficient. |
| "Basically done" | Not done. |
| "Just about done" | Not done. |
| "Done pending review" | May become done. |
| "Shipped" | Done, possibly with bugs. See: Friday Deployers. |
| "Feature complete" | Feature complete. Project not complete. Distinct. |
A Useful Test
The following test, attributed to Burbridge, determines whether a thing is actually done: Could you hand this to the person who will use it, without also handing them a list of warnings?
If yes: done. If no: not done. The list of warnings is the measure.
"If you have to apologize for it as you hand it over, it is not finished. You are finishing it by apologizing." — Burbridge, in an unpublished draft
References
- Burbridge, A. (2019). If It Compiles, It's Not Done. Ch. 2.