4 ms·
> “But done” – What is “done” in software? Yes, it's never really done, but there are levels or milestones of "doneness", where you get to feel the satisfactio
by hyperpallium 10y ago
> “But done” – What is “done” in software?
Yes, it's never really done, but there are levels or milestones of "doneness", where you get to feel the satisfaction of something done.
Two ways of looking at "doneness": an end in itself, or as a means to an end. Professionals/craftmen/artisans prefer the former (and are prone to perfectionism - never reaching any level of perfect doneness); whereas business people are prone to cutting corners - cutting anything non-essential - in order to reach the end (and are prone to cutting the essential). Sidenote: it's great for a business for perfection to be hard to reach (and customers still wanting it), because it means you can release another version - when perfection is reached (or customers don't want any more), the business dies.
Microsoft "wizards" were a good example of the a means to an end (don't know if they still are): they got the job done, if you wanted a common combination of selections. But was buggy for other combinations that should work. It looked like they only fixed the bugs that they had to. So... this is outrageous to a perfectionistic - of course all the combinations should work! My point is that this achieved the end, for most people.
Each single combination of features or path that works is an element of "doneness", that actually helps someone.
Richard Dawkins talks about the evolution of the human eye - how could such a complex interdependent thing come into existence spontaneously? He says it came bit by bit, from a patch of photosensitive cells, to a hollow of them, to a simple lens, gradually refining its focal qualities. A similar story for orchid mimickry of insects. (Chapter was called "Do Good by Stealth").
The point is that each advance had a level of "doneness", in that it was better than not having it (thus conferring survival advantage). And who's to say the advancement has ceased?
One also have a level of doneness for the intrinsic beauty of the work itself... it's just that you are going to have to define what "doneness" will mean for you... and you'd better make each level very small in scope, because it takes a long time to make even a small thing beautiful or perfect. For example, just making a framework is a worthy and ambitious goal.
Though I still think, even for "ends in themselves" it's useful to distinguish between what business people call "differentiating" factors and "hygiene" factors. You must have hygiene, but it doesn't have to be world-beating - just good enough to do the job. But for differentiating factors, you have to do something unusual or special (though again, only really good enough to differentiate).
It's up to you to work out what "good enough" really means. I think comparing it with not having it at all is a good way to evaluate its worth without getting caught in an endless perfectionism trap...