"Good enough" is not good enough!

This week I came across a discussion [regarding test design] in which a tester wrote, "…the main goal is having something that is 'good enough' ." Every time I hear a tester utter the phrase "good enough" my head wants to explode!

Wrapping duct tape around a splint on the broken handle on my hoe is good enough to finish the job until I can go buy a new handle. While I may sometimes temporarily improvise a "good enough" solution; I am never truly satisfied with good enough, and I personally aspire to be better than good enough. My father always told me if something was worth doing, I should do it right! He also raised me to always put forth my best effort, and constantly strive to improve myself.

I seriously can't think of any professional (in any discipline) who seriously considers good enough to ever really be good enough? The "good enough" argument is the ultimate cop out! In my opinion "good enough" epitomizes an unprofessional, apathetic attitude sanctioning mediocrity.

From a job performance perspective I suspect that if we told our employers that we were going to simply design and execute tests that are "good enough" we probably wouldn't be in a job very long. I certainly would not want people on my team who are satisfied with "good enough;" I want people who want to do their best, and to strive for better!

I spent some time in the US Air Force and we often used the phrase "it's good enough for government work" to describe slop-shoddy work. So, it amazes me that some people seem to be satisfied by consciously condoning ignominious practices. But, I guess some people are taught to expend just enough effort to be good enough!

In my opinion, good enough may be "good enough for government work" or for individuals who don't have a vested interested in helping organizations improve, or who don't really care about improving themselves; but, there is no room for the slovenly "good enough" mentality among professional testers.

Comments

  • Anonymous
    April 17, 2009
    PingBack from http://asp-net-hosting.simplynetdev.com/good-enough-is-not-good-enough/

  • Anonymous
    April 19, 2009
    "I seriously can't think of any professional (in any discipline) who seriously considers good enough to ever really be good enough?" On the contrary - every profession operates exactly this way.  Otherwise, the job is never done. There is always one more test you could run. The secret to "good enough" is to know where to set that bar.  That is always where your professional experience, and a deep understanding of the needs of the stakeholders must come into play. It's good to strive for "better".  But if you don't understand when you get to "good enough", then you may never be done.

  • Anonymous
    April 19, 2009
    Hi Joe, I don't know about you, but personally I wouldn't be too comfortable to hear a surgeon say, "don't worry, I've done this plenty of times and I've always done a good enough job." I also wouldn't be too satisfied with my favorite sports team if they said "we're good enough, so we don't need to practice or try to get better." I agree we must be able to understand when a job is finished. But, knowing when to finish a job is different than striving to continually to improve and consciously not being satisfied with a "good enough" job. In the context of software testing, finishing a job is usually based upon a scheduled delivery date and attempting to achieve or exceed the specific goals or requirements that satisfy our primary target customers value for that release. However, the context of the discussion I referred to regarded test automation. Perhaps I should have been clearer on the context, but I in my opinion amateurs strive for good enough; professionals are rarely satisfied with good enough and proactively seek ways to continually improve all aspects of their game.

  • Anonymous
    April 20, 2009
    The comment has been removed

  • Anonymous
    April 20, 2009
    The comment has been removed

  • Anonymous
    April 20, 2009
    Hi Joe, Yes, I do think we agree. Your statement "Continual improvement is great.  Always stiving for better is great.  Delivering more than is expected is great" is spot on and captures the essence of my post. I also agree it is important for us to understand knowing when we reach our desired goals for a particular software release. Perhaps one difference in our perspectives is at MS we really don't view our software as ever being "finished." After each release (and sometimes after each major development milestone; or sprint for you agilists out there) we have a post-mortem (retrospective for the PC crowd) to discuss the things that went well (so we can capitalize on them to improve furthr) and the the things that didn't go so well (so we can find solutions to those issues and try to improve in those areas). So, while we have major deliveries of our products we also realize software is constantly evolving as it must in order to satisfy the growing needs of our ever increasing population of customers. I separate the logical business decisions of shipping software from the mental attitude of how I am going to design, develop, and test software.

  • Anonymous
    April 20, 2009
    Hi Shrini, Perfection is an idealistic state which is why I didn't say we should strive for perfection. The denotation of the adjectival phrase "good enough" is "adequate for the cirucumstance." However, the prevailing connotation is shoddy work, or a temporary solution (e.g. "good enough for now"). Making the hard decisions to ship software with known issues outstanding is a business proposition. Saying "let's ship this, or let's do such and such because "it's good enough" is an attitude. I have been in a lot of ship room meetings and I have never heard the manager responsible for making those business decsions say "it's good enough...let's ship it." Also, I don't suspect a person would be hired if they told their prospective employer "you should hire me because my work is always 'good enough'." But, this post was not intended to be a myopic discussion that somehow tries to equate the concept of 'good enough' to the difficult task of making hard business decisions to ship software (in a finite world).     This post was intended to rebuke the 'good enough' mental attitude  in general (which implies satisfactory results), and provoke an attitude towards greater personal responsibility and self-improvement.

  • Anonymous
    April 21, 2009
    "However, the prevailing connotation is shoddy work, or a temporary solution (e.g. "good enough for now")." I tend to disagree.  You are making an argument that relies on your own, localized semantic interpretation of the phrase "good enough".  This is dangerous, because you assume a global context exists where it does not.   In my opinion,"good enough" is where the ideal of what you COULD do, irrespective of time and budget constraints, and the reality of what you HAVE done are close enough that the gap between them does not introduce any unreasonable risks to the business goals the software is supporting.  As was stated previously, knowing where to set the bar is everything, and that is largely dependent on the individual circumstances of the software under test.

  • Anonymous
    April 21, 2009
    The comment has been removed

  • Anonymous
    July 29, 2010
    I so agree with you. I dont like good enough and I hear this a lot. I give my 110% not expecting anything. Like your dad my dad told me to do my best always. What bugs me the most is when collegues of mine ask what do they get? I mean why should it always be about getting something in return.

  • Anonymous
    November 08, 2010
    in fact, we do something in purpose, then everyone want to get something in return .That is not wrong.