For most of software’s history, “done” simply meant the code worked. You built it, it ran, and if it solved a problem, users would find it.

For most of software’s history, “done” simply meant the code worked. You built it, it ran, and if it solved a problem, users would find it.