Good enough?
Whilst I’m not sure I’d take the argument quite as far as Jason Gorman in this blog article “Good Enough” Really Means “Almost Perfect”, I’m right with him in his sentiment.
…it’s actually cheaper and quicker to deliver almost perfect software than the crap we’re all churning out today. The line in the sand we call “good enough” is not where we think it is. In reality, “good enough” and “perfect” are so close to together, and we are so far away from either of them, that they might as well be the same line. We should be striving for perfection because “good enough” is, in almost all cases, almost perfect.
The cost to write a few lines of code and get your unit tests giving you the green bar is insignificant when compared to the overall development cost. Whilst agile techniques can help with this, it’s unfortunate that all too often the term “good enough” is used to implement “not enough”. This is not what agile is about; it’s just not good enough
If you’re doing agile, the point is that you’re able to produce what your users want much more quickly that some other conventional processes. You do not do that by cutting quality, you do that by ensuring that you deliver only what they need and not what they don’t.
Whether or not you’re doing agile, Agile, RUP, waterfall or the foo process, users may never ask you to deliver quality, but they’ll notice when you don’t and as professionals, it’s our duty to ensure quality is just something that always happens, not something that has to be asked for.