Well, here’s my first post of 2007. I’m going to start off with a gripe.

To paraphrase Peter, Paul, and Mary: “Where has all the QA gone?”

Quality Assurance is an essential part of any development project, no matter the industry. If you don’t have someone check the final product before you ship it out the door, how do you know it’s any good? What if some minor flaw was introduced somewhere in the process that causes the product to malfunction in some way that isn’t detectable until you turn it on? Or when you’re dealing with data, rather than something physical, how do you know you didn’t mis-set a parameter somewhere unless you take a look at the results?

I’ve run up against multiple instances of poor Quality Assurance lately. And truth be told, I’ve been guilty of some below-average work in that regard myself from time to time. But there were two instances recently that just blew my mind.

One example was a product that had obviously zero QA—it was apparent at a glance to anyone who knew what they were looking for that the result was bad. A complete waste of time.

The other instance was an overheard conversation. One person was telling another that their department head was cutting the entire QA department. What kind of sense does that make?! At least in the first example you could use the excuse that the timeline was tight and you had to cut a corner or something—but to shoot yourself in the foot and dissolve the QA department completely?! On purpose?! Are you mad?! Doing something like that is raising your risk significantly for comparatively little gain. It’s a crazy gamble. All I could think was “Man, I am so glad I don’t work for or with that guy.”

I like to be able to trust the people I’m working with, including vendors and co-workers, to deliver me a quality product. Nine times out of ten they live up to that trust. Lately, though, I’ve noticed QA slipping across the board. What is causing this loss of focus on quality? There are many possible reasons, but here are a few that I think are prevalent (and by the way, this is not just something I’m observing in relation to my job, but rather everywhere):

  • The most prevalent reason is time. People don’t think they can afford the time to check their work. That’s a shame, because the cost of spending a few hours reviewing your product can save days of rework and a stain on your reputation once the customer discovers the error. Sadly the “I don’t have time” mentality is frequently supported by unrealistically demanding project leaders.
  • Budgets are another issue. If you’re being forced to cut somewhere, it can be tempting to think “If we can just get the developers to do it right, we shouldn’t need anyone to check their work.” That’s a questionable, but understandable, attitude for a small project, but if you’ve got multiple people working on a product with a lot of hand-offs from one group to another, you’re asking for trouble unless you check things out frequently.
  • A shift of focus from quality to speed is another reason. This is more of a societal problem, I think. A lot of people are being brought up with the notion to get it out the door, then fix it later. “Let the early adopters be the beta testers.” That may work fine in some situations, like developing a low-impact web site or a community-built effort, but that attitude seems to be creeping into more corporate - and expensive - products.
  • Sadly, a lack of respect for customers is an issue in some cases. Some people simply don’t care if they’re putting out a quality product. Maybe they know you have to come to them and they have you by the pants, or they are able to undercut the competition so much that they’ll make a profit no matter what happens. I haven’t come across this very often, but it’s certainly the most maddening of the reasons I’ve experienced.

Does anybody have ideas for how we can begin to rebuild an emphasis on quality in the world?

Technorati Tags: , ,

Related posts