When is something good enough?
I think the answer is complicated but if we boil it down to two simple measurements it becomes easier to answer: perfection level and expectation level.
The perfection level measurement is, of course, the most difficult because there is nothing perfect ever made. So one must then set a reference level of how many imperfections are allowed to be able to measure it - and then accept the imperfect results. Not an inspiring model for building a product.
The expectation level, however, is probably a much more attainable measurement and far more meaningful to the end user. Let's focus on that one.
If we produce a product that meets or exceeds every expectation you might have then by default it was not only good enough it was better than good enough. That's a solid win even though the product is only "good enough" and is imperfect and perhaps has multiple issues.
This subject came about because my engineering director and I have been studying how to become better software programming managers (we both come from hardware backgrounds). What we've learned is that in an environment where we don't control the hardware, like a program running on your PC, software becomes a black hole sucking in resources at a constant and infinitely long rate. That's a reasonably eye opening concept to get a grip on.
It's an even bigger eye opener to learn that "good enough" is the new standard for development.
And all along I thought it was perfection.