Advertisement

Blog

The Role of QA

The quality assurance team is there to test the system and generate a list of bugs. Developers then fix those, and, after passing QA's tests, the product ships.

Not.

First, in manufacturing, QA is not quality control. QA is about defining the processes used, raw material fitness, and the like. Instead, quality control ensures that a product meets a standard defined by the QA group.

However, almost every software group conflates QA and QC, generally folding both operations into the single term QA. I have no reason to tilt against windmills, so I will use the term “QA.” Software engineering isn't manufacturing; we don't need to adopt its nomenclature.

I believe that developers have the responsibility to deliver extremely high-quality code. Tiny teams may deliver directly to the customer, while larger groups have a separate QA operation. Regardless, we engineers must create the very best work products.

QA's role is to demonstrate the absence of defects. Sure, life is tough and software complex. Sometimes they will find problems. But that doesn't absolve the engineers of their responsibility to strive for perfection. We engineers must take pride in our work, demonstrate exceptional craftsmanship, and constantly hone our tools, processes, and techniques to achieve the highest quality.

Wise managers will use the results of QA's verification and validation work to audit the software engineering process. If they're finding more than a few problems, that's an indication that there's something wrong in the firmware group. This is a quantitative result, something measureable, which can be monitored over time to see if the engineering team is getting better or worse.

Three important principles are embodied in the notion of using QA's results to audit the development team.

Metrics : Engineering without numbers is not engineering — it's art. Metrics hold us accountable and let us evaluate the process.

Feedback : Every EE knows that feedback stabilizes electronic systems. It also stabilizes human systems. Use the results of any operation (in this case QA) to continuously improve the process.

Filters : Software is tough to get right, which means we need to use as many filters as possible. The compiler identifies syntax errors, inspections other problems, test even more. QA is the last one.

Continue reading on EBN sister site Embedded.com.

2 comments on “The Role of QA

  1. SP
    November 19, 2014

    Quality control and Quality assurance are two difference things but gets mixed up casually. While QC is used to make sure each product that gets manufactured goes through a similiar quality control. QA is mostly the compliance in terms of processes. All these sofwtare companies have QA department. They have timely audits, gets compliance certificates from the organizations.

  2. FLYINGSCOT
    November 20, 2014

    Thanks for the clarification.  We have a love hate with the Qaulity dept but they sure do a good job keeping us all straight and out of deep trouble with our customers.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.