How to implement SQA? He Xiaoyuan Wang Huiwen (reproduced from the Computer World News)
SQA (Software Quality Assurance) is an important key process area in CMM2, which is a third-party independent review activity throughout the entire software process, which acts as an important role in the process of CMM. The purpose of SQA is to provide managers with a means of comprehensive monitoring of software, including review and auditing software products and activities, verifying whether they meet the appropriate procedures and standards, while providing project managers with the results of these reviews and audits. Therefore, satisfying SQA is one of the important steps to reach the CMM2 level requirements. Background For any manufacturing company, quality assurance activities are essential. The first official quality assurance and control function appeared in the Bell laboratory in 1916, which will quickly become a whole manufacturing industry. The quality standard of software first appeared in the 1970s military software development contract, which has been widely used. Today, the software is more popular today, "Software Quality Assurance" has become a problem that software development enterprises and end users. Practice has proved that software quality assurance activities are effective in improving software quality. The development experience of IBM360 / 370 system software proves that this point, IBM's report pointed out that in 8 years, the software quality has increased by 3 to 5 times, while SQA is an important part of its quality system. Target SQA organizations are not responsible for producing high quality software products and a quality plan, which are the work of software developers. The SQA organization's responsibility is the quality activities of the Software Manager and Software Engineering Group and identify the deviations in the event. The goal of software quality assurance is to monitor the implementation of software production tasks with independent review, providing developers and management information and data to reflect product quality, and the auxiliary software engineering group gets high quality software products, and its main work includes the following three Aspect: ● By monitoring software development process to ensure product quality; ● Guarantee the production of software and software development processes in line with corresponding standards and procedures; ● Guarantee software products, unqualified issues in software, need to process, necessary The problem is reflected to the senior manager. From the goal of software quality assurance, it can be seen that SQA staff work closely with software development, and needs to communicate with project personnel. Therefore, the cooperation between SQA personnel and project staff is the key to completing the software quality assurance goal. If the cooperation attitude is hostile or picky, the goal of software quality assurance is difficult to achieve smoothly. The main role of task software quality assurance is to provide managers with guarantees for implementing software processes, so SQA organizations ensure that the implementation of the following: ● The selected development method is adopted; ● The selected standards and procedures are adopted and followed; ● Conduct independent reviews; ● Differentiations from standards and procedures are timely reflection and processing; ● Each software task defined by the project is implemented. Accordingly, the main tasks of software quality assurance have the following: ● SQA Audit and Review Among them, SQA audit includes auditing of software work products, software tools and equipment, and evaluate whether these content meets the standards specified. The main task of the SQA review is to ensure that the activities of the software engineering group are consistent with predefined software process to ensure that the software process is followed in the production of software products. ● SQA reports SQA personnel should record the results of the work, and write into the report, released to the relevant person. The release of the SQA report should follow 3 basic principles: SQA and senior managers should have direct communication channels, and the SQA report must be issued to the software engineering group but do not have to post to the project management personnel, and the quality of the software is concerned The person releases SQA report. ● Processing does not meet the problem This is an important task of SQA. SQA staff should process the non-compliance with the problem found during the work, and reflect the relevant personnel and senior managers in time. In the process of processing problems, follow the principles: First, the activities of the standard process, SQA should actively report the progress of the activities and these activities in conformity in standard; second, for the standard process Activities, SQA is to report its incompatibility and its impact on the product, while proposing recommendations. Implementation of software quality assurance tasks requires several aspects of issues. First, consider the quality of SQA personnel. The responsibility of SQA person is to review software design, developer activities, verify whether they apply the selected standards, methods, and procedures to the event, so the effective implementation of SQA work requires SQA personnel to master professional technologies, such as quality control Knowledge, statistical knowledge, etc. Second, the experience of SQA personnel is equally important to the implementation of the task. You should choose those experienced people to do SQA, while special training for SQA staff to make them competent. Third, the organization should establish documentation development standards and procedures, so that SQA staff have a basis, judgment standard. If there is no such standards, SQA staff cannot accurately determine the issues in development activities, which is easy to cause unnecessary Argument.