|
There is often confusion in the IT industry regarding the difference between quality control and quality assurance. Many “quality assurance” groups, in fact, practice quality control. Quality methods can be segmented into two categories: preventive methods and detective methods. This distinction serves as the mechanism to distinguish quality assurance activities from quality control activities. This discussion explains the critical difference between control and assurance, and how to recognize a control practice from an assurance practice. Quality has two working definitions:
• Producer’s Viewpoint – The quality of the product meets the requirements.
• Customer’s Viewpoint – The quality of the product is “fit for use” or meets the customer’s needs.
There are many “products” produced from the software development process in addition to the software itself, including requirements, design documents, data models, GUI screens, programs, and so on. To ensure that these products meet both requirements and user needs, both quality assurance and quality control are necessary.
Quality Assurance
Quality assurance is a planned and systematic set of activities necessary to provide adequate confidence that products and services will conform to specified requirements and meet user needs. Quality assurance is a staff function, responsible for implementing the quality policy defined through the development and continuous improvement of software development processes. Quality assurance is an activity that establishes and evaluates the processes that produce
products. If there is no need for process, there is no role for quality assurance. For example, quality assurance activities in an IT environment would determine the need for, acquire, or help install:
• System development methodologies
• Estimation processes
• System maintenance processes
• Requirements definition processes
• Testing processes and standards
Once installed, quality assurance would measure these processes to identify weaknesses, and then correct those weaknesses to continually improve the process.
Quality Control
Quality control is the process by which product quality is compared with applicable standards, and the action taken when nonconformance is detected. Quality control is a line function, and the work is done within a process to ensure that the work product conforms to standards and requirements.
Quality control activities focus on identifying defects in the actual products produced. These activities begin at the start of the software development process with reviews of requirements, and continue until all application testing is complete. It is possible to have quality control without quality assurance. For example, a test team may be in place to conduct system testing at the end of development, regardless of whether that system is produced using a software development methodology.
Both quality assurance and quality control are separate and distinct from the internal audit function. Internal Auditing is an independent appraisal activity
within an organization for the review of operations, and is a service to management. It is a managerial control that functions by measuring and evaluating the effectiveness of other controls.
The following statements help differentiate quality control from quality assurance:
• Quality control relates to a specific product or service.
• Quality control verifies whether specific attribute(s) are in, or are not in, a specific product or service.
• Quality control identifies defects for the primary purpose of correcting defects.
• Quality control is the responsibility of the team/worker.
• Quality control is concerned with a specific product.
• Quality assurance helps establish processes.
• Quality assurance sets up measurement programs to evaluate processes.
• Quality assurance identifies weaknesses in processes and improves them.
• Quality assurance is a management responsibility, frequently performed by a staff function.
• Quality assurance is concerned with all of the products that will ever be produced by a process.
• Quality assurance is sometimes called quality control over quality control because it evaluates whether quality control is working.
• Quality assurance personnel should never perform quality control unless it is to validate quality control. |
|