QA -- Quality Processes

Introduction:
Since the software development started as a full-fledged discipline in organizations, it has become imperative to monitor the quality of these software processes as well as software itself. With time many systems for measuring the quality of softwares were established.
Quality Assurance as a concept covers all activities of software development such as design, development, production, installation, servicing and documentation. It is usually a separate department in the firms that regulates of the quality of raw materials, assemblies, products and components; services related to production; and management, production, and inspection processes. The QA department generally establishes the quality improvement process in consultation with project managers and software teams such that it supports the achievement of quality.
Quality Assurance:
Software QA involves the entire software development process of development, monitoring and improving the process, so that the client requirements are fully met and any agreed-upon standards and procedures are followed. They use international standards such as ISO 12207 and ISO 15504 which are the international standards for describing the method of selecting, implementing and monitoring the life cycle for software.
ISO 15504 is also known as Software Process Improvement Capability Determination (SPICE). It is a "framework for the assessment of software processes" which is being used across the organizations for measuring the actual process followed by the firm or the project team during software development. This information is used to identify the strengths and weaknesses of the process so that the process can be improved.
Another leading model of quality assessment is the Capability Maturity Model (CMM). But it is used to assess the organizations on how well they follow their defined processes and does not deal with the quality of those processes or the software produced. CMM has been now replaced by CMMI. 'Capability Maturity Model Integration' that has been developed by the SEI. It's a model of 5 levels of process maturity that determine effectiveness in delivering quality software. Organizations can receive CMMI ratings by undergoing assessments by qualified auditors.
Similarly, ISO 9126 defines six high level quality characteristics that can be used in software evaluation. It includes functionality, reliability, usability, efficiency, maintainability, and portability
Six Sigma is another methodology which is being tested against quality of software development. It is a set of practices originally developed by Motorola to systematically improve processes by eliminating defects where a defect is defined as nonconformity of a product or service to its specifications. It was initially used in manufacturing sector to manage process variations that uses data and statistical analysis to measure and improve a company's operational performance. It is used to identify and eliminate defects in manufacturing and service-related processes. The maximum permissible defects is 3.4 per one million opportunities. Six Sigma as a process improvement tool has been derived from the combined quality improvement methodologies such as quality control, TQM, and Zero Defects.
Training and opportunity:
There are many courses available to become a certified quality auditor. QAI India offers Internal Auditor training courses to prepare potential Internal Quality Auditors. Similar courses are provided by International Quality Management Systems at Noida. Besides the basic degree in software engineering, it helps to obtain certifications as quality auditors. Data analysis capabilities as well as good presentation and communication skills are necessary to become a good quality auditor. There is a growing demand for quality professionals across the software industry with many companies going for ISO and CMM certifications. Thus there are a lot of opportunities available in this area.

|