CSE 372: Quality Assurance

A Q/A engineer has two roles in the project. First, he/she determines the quality of the current submission. Second, he/she finds defects.

Determination of Quality

A Q/A engineer should be able to estimate how the stakeholders will respond to a given product submission. In academic terms, this means a Q/A can predict the grade that a given assignment will have. This means that each member of the Q/A CoP needs to have an intimate understanding of the requirements for a given submission.

At the highest level, the PM should be able to ask the chief Q/A what the grade would be if a given draft were to be submitted. The PM should also be able to ask what could be done to improve the grade the most. If the Q/A has a deep understanding of a given submissions strengths and weaknesses, and if the Q/A has a deep understanding of the grading scale for a given assignment, then the Q/A should be able to answer this question accurately.

At a lower level, a lead should be able to ask the Q/A assigned to a given team about the quality of the team's area of responsibility. This is critical information for the lead, allowing him or her to best utilize the resources available within the team.

At the lowest possible level, a technical specialist should be able to ask the team's Q/A for direct feedback on a given submission.

Regardless of the level (for the entire submission, for a team's contribution, or for an individual's contribution), the Q/A needs to communicate quality determinations in the clearest possible way. How can this be done in such a way that everyone understands but nobody feels offended?

Finding Defects

In many teams, the Q/A serves as an important checkpoint for all submissions. It is the Q/A who accepts a given submission as being "good enough," or who sends a submission back to the IC who authored it. In this way, the Q/A is a gatekeeper, ensuring that everything that receives his or her approval meets the required quality mark.

The Q/A needs to provide feedback to the contributor which is actionable. It should tell him or her exactly what needs to be done so the submission meets a given quality mark.

Finally, the Q/A needs to ensure that the quality mark by which submissions are graded reflects the needs of the project. In other words, it is not appropriate to demand perfection for a low-value project. Similarly, it is not appropriate to allow sloppy work for a project that has life-and-death implications. The chief Q/A, under direction of the PM, need to set and refine the quality mark that is implemented by each member of the Q/A CoP.

The chief Q/A, assisted by all the Q/A specialists, needs to determine how defects are reported. It can be as simple as an e-mail to the IC who made a given submission, or it can be as elaborate as a bug database. The challenge is to identify a process that has the minimal amount of overhead (lead amount of extra work), yet is comprehensive enough to meet the needs of the project.