Perfect software doesn’t exist – that should be “…elementary my Dear Watson.” Ok, so starting with that assumption where does one go with their quest for the “perfect” software, or perhaps the “perfect” tester, or the “perfect” whatever for that matter! A couple of weeks ago I bookmarked a post that caught my eye entitled Book gives managers a software testing reality check. It was right at the beginning that my eye caught the “…perfect software doesn’t exist” statement in the post.
I’ve often written here about software expectations. In my experience end users are often looking for (maybe even expecting) perfect solutions to their software needs, but I believe that is not possible. The expression, “one man’s junk, another man’s treasure” kind of applies here. The definition of “perfect” among evaluators will vary as much as the individual personalities of the evaluators. Marketers, of course, describe their “perfect” solutions with charm, grace and slick that defies logic. Save us please!
The reality of software development and testing is that a series of trade-offs has been made to arrive at an acceptable, functional and apparently “bug free” application. There will always be decisions made such as feature set vs cost to produce the feature set. Sometimes software with “known issues” is released – possibly because of cost concerns, possibly because the need is so great that expediency is the driving factor. (In those cases, however, it is quite possible that a work-a-round has been identified, or that the known issue exists only when a user goes down a path which they shouldn’t be going down to begin with). Yes, in that case the software “should” prevent access to that path, but I’ve certainly seen many an instance where the time and cost to do it just wasn’t worth the effort when user training “should” take care of the issue.