Monday, March 10, 2008

What's QA?

I had a not-too-bright manager once, who told me that the job of the QA was to ensure the quality of the product. I told him that I can't do that: I can ensure the quality of the miniatures I paint, the salad I cut or, to some extent, the manner of my daughters. I can't ensure the quality of code I don't write, it's that simple. Ensuring the quality of the software is not my job.

I often see QA engineers who feel personally offended that software is released with (some) open bugs, or that their bugs are re-categorized as enhancements. I always tell them that being offended by the way our bugs are treated is not our job.

In the organization I currently work, I encounter Dev personnel design and run tests. I was surprised and a little offended at first, but I soon realized there's no reason for that. Hell, even testing is not my job (though I'd better be good at doing it).

So what's my job, actually? It's not eating these donuts.

In Delver, we have a white board in the meeting room. My job is to go to that board once in a few weeks and write the product's status. I give a smiley to a component which is ready for production, so-so face to a component which still has some bugs before it's ready and a frowning face to a component with critical issues. That's my job as a QA manager. Go to the board and paint some faces with a dry erase marker.

Because the role of QA is not to ensure the quality of the software, not to fight for bugs and not even to test the product (yes, I'm being a wise ass here). The role of QA in organization is to be able to reflect the quality of the software. In order to do that we have to test or help the dev personnel test. We must be efficient, resourceful and clever in our tests. We must know the requirements and understand how the users use the software. But in the end of the day, our job is to reflect the product's status.

Are there critical bugs you feel are ignored? Publish them. Make sure everyone who should know about them, knows. Should you care about known defects the software is released with? of course, you're part of the team. Is it your job to stop the version? No. Your job is to make sure that the people who make the decision about shipping it know everything they should know.


Steve said...

Omri..i always thought drawing pictures for a living was my job...


Anonymous said...

Man, you have a special brain.
You are special
You are the ONE.