Friday, February 20, 2009

Deferring the Undeferrable

Here's a software QA interview question that I have gotten many times. It comes in various forms, but the basic version is this: "Let's say you find a showstopper, but the scrub team defers your bug. What do you do?"

The first time you hear it, you're caught by the apparent paradox. Surely the scrub team cannot defer a showstopper. So, you question the premise. "Is it really a showstopper?" you ask. You're assured that it indeed qualifies; maybe it's a bluescreen or some other data loss bug. Something nasty, at any rate.

Maybe the scrub team just made a mistake. So you try reopening the bug, only to have them defer it again. Maybe this time the interviewer says "And the scrub team adds a note to the bug telling you not to reopen it again."

At this point you hit a fork in the road, and if you want to answer the interview question fully you need to follow both forks.

On the one hand, you have to explain how you can appeal a mistaken ruling by the scrub team. This means explaining your dissent in an email and circulating a draft to various stakeholders: Tech Support, Documentation, whoever is going to get impacted by this bug. Then once you have their buy-in you can go over the scrub team's heads to whoever they report to. But this answer just demonstrates your understanding of the appeal process, and is the lesser of the two.

The more important aspect to the question is philosophical, requiring that you really understand your role as a QA tester. Your job is find bugs, report them, and make sure that the managers who run the project understand your bugs. It's their job to decide which ones get fixed, and which get deferred. As long as they understood your bug and its implications, it's their call whether to defer. Your job is done at that point. The scrub team has to balance resource allocation, code destabilization, risk to schedule, and other knotty issues when they decide whether to fix or defer. Bug severity is just one factor in their decisionmaking process.

Those two answers taken together demonstrates to the interviewer that you understand your job.

In practice, you should generally appeal the deferral of a severe bug. And if you're uncertain whether the scrub team fully understands your bug and its realworld implications, then you have a professional responsibility to clear up any possible misconceptions. If their deferral stands, go ahead and raise the issue with all affected parties and start lobbying to fix the thing.

But once you know that the decisionmakers fully understand the bug and its implications, your job is done. You have a clear conscience no matter what they decide to do about it.

No comments:

Post a Comment