CIS 422/522

SOFTWARE QUALITY ASSURANCE DEFINITIONS


Software Quality Assurance

  1. A planned and systematic pattern of all actions necessary to provide adequate confidence that a software work product conforms to established technical requirements.
  2. A set of activities designed to evaluate the process by which work products are developed or manufactured.

Other words of wisdom:

Quality Assurance is the activity of providing to all concerned the evidence needed to establish confidence that the quality function is being performed adequately.

-- Juran

Quality Assurance is a planned and systematic pattern of all actions necessary to provide adequate confidence that an item or product conforms to established technical requirements.

-- IEEE

... [software quality assurance] involves both process and product assurance. The basic charter of SQA is thus to assure that software projects fulfill their commitments to both process and product.

-- RichardFairley

QA's principal function -- and it is a principal function -- is to continually assess the state of the product so the rest of the team's activities can be focused on development. QA's ongoing assessment is integral to the act of software creation, not an ex post facto event. The goal of QA is to support the product development process by providing an ongoing induction of reality, which can't be exaggerated. The unrelenting natural tendency in software development organizations is to transmute hopes and wishes into peculiar reality distortion wishes. QA provides compensation for this nearly overwhelming urge.

-- Jim McCarthy (Microsoft)

Software quality assurance is the set of systematic activities providing evidence of the ability of the software process to produce a software product that is fit to use.

-- Gordon Schulmeyer

The management of software quality programs is commonly called "software quality assurance" but the name is just about the only thing common to the management of the software quality programs. This is understandable, since no two quality programs can be expected to address precisely the same purposes. Software quality assurance is actually somewhat of a misnomer, since software quality assurance does not assure the quality of software, but the effectiveness of a software quality program. The distinction many seem overly fine, but it serves to rule out software quality assurance activities directed exclusively to testing, verification and validation activities, or the like. If we are to believe that software quality must be built into the product through the use of a process that itself has quality built in, then we must also accept the software quality assurance must be an aspect of all software development (and maintenance) activities.

-- RobertDunn

Software Quality Assurance Program

One of the critical challenges for any quality program is to devise a way for ordinary people to review the work of experts. Management properly wants the best designers to design the products, so SQA can't have them. The need is to focus on those SQA methods that permit the development work to be reviewed by people who are not primarily developers. The SQA role is to monitor the methods and standards the software experts use and to verify that they have properly applied their expertise. SQA is a valid discipline in its own right, and people can be SQA experts without being software design experts. This SQA expertise is what is required to establish a strong quality program. It includes knowledge of statistical methods, quality control principles, the software process, and an ability to deal effectively with people in contentious situations.

-- Watts Humphrey


lloyd.madden@dynamix.com
glenw@uswest.net
johnfl@cs.uoregon.edu