Independence and objectivity-implementation guidelines for Software Quality Assurance in CMM

Source: Internet
Author: User

Software Enterprises must pass the CMM certification standard, which is a consensus of software enterprises. Many software enterprises in China are researching, discussing, and implementing CMM. Up to now, several domestic software enterprises have passed the CMMS 3 certification.


Establish work objectives
SQA (Software Quality Assurance, Software Quality Assurance) is a key process field of CMM. Almost every key process field of CMM involves software quality verification, it plays a very important role in the software development process. In CMM, the purpose of software quality assurance is to provide managers with visibility into the process and final product of the current software project. Its main tasks include reviewing software engineering activities, auditing software products, and notifying the project team members and related managers of results. From the perspective of the CMM framework, the main goal of the Software Quality Assurance personnel is to ensure the software process quality. The quality of software final products is a concern of the project manager and Quality Engineers, rather than the responsibility of the Software Quality Assurance personnel.

The value of Software Quality Assurance depends on the following prerequisites:
First, the software project development process follows the well-defined rules, and the benefits gained from this are far greater than the cost paid for it. Although the progress may be delayed, the cost is much lower than that of products not required by users after development.
Second, without an independent evaluation system, people sometimes deviate from the established rules. Software developers always ignore the process consciously or unconsciously for various reasons. In this case, Software Quality Assurance personnel are required to discover problems.

Ensure the independence of personnel
A good process quality is not equal to a good product quality, but a bad process can hardly bring about a good product quality. If a project completes development according to the established process without any deviation, it means that the software quality assurance personnel have fulfilled their responsibilities.
In order to better carry out the software quality assurance work, the software quality assurance personnel should be independent and have no administrative affiliation with the project manager. The project manager should not make the assessment and evaluation of the project manager, at the same time, he shall not undertake any work except Software Quality Assurance in this project to ensure his independence.
We recommend that you set up an independent Software Quality Assurance Organization in an enterprise. If the enterprise is small, testers can also serve as testers. In some enterprises, testers belong to the project team. In this case, the software quality assurance personnel should be the testers of other project teams.

Standard objectivity
The purpose of software quality assurance is to provide managers with visibility. If subjective factors exist, what managers see is not the real situation of the software development process, which is crucial to the software quality assurance work. For example, Lenovo's software products are implemented through the quality assurance checklist. A software quality assurance checklist is provided for each software engineering activity and software work product. The Software Quality Assurance personnel can determine whether there are deviations from the current software engineering activities and whether the software work products meet the requirements according to the checklists. Is there any deviation from software engineering activities, it mainly depends on whether the entry criteria of software engineering activities are met, whether the inputs are correct, whether the execution tasks meet the requirements, whether the completion criteria are met at the end, and whether the required outputs are met. When auditing software work products, the software quality assurance personnel mainly audits whether the software products comply with requirements such as procedures and standards, and generally does not consider technical issues.

All software developers should receive targeted training in software quality assurance to understand the purpose, work method and other relevant content of software quality assurance. Only when everyone realizes the significance of the software quality assurance work can this work be well carried out.

Several misunderstandings
Misunderstanding: Software Quality Assurance personnel are responsible for the quality of software products.
The Software Quality Assurance personnel are generally only responsible for the quality of the software process. If a project completes the development work according to the established process without any deviation, the software quality assurance personnel shall fulfill their responsibilities, his value mainly lies in the process quality rather than the final software product quality.
Misunderstanding 2: Software Quality Assurance personnel should audit software work products, including discovering technical problems.
Software Quality Assurance personnel audit software work products mainly for the process, such as whether to use the template specified by the process and whether all necessary content is available, rather than focusing on technical issues.
Misunderstanding 3: Software Quality Assurance personnel should be responsible for solving the quality problems found.
The biggest role of software quality assurance is to discover and provide visibility, rather than solving problems. After the Software Quality Assurance personnel discover the problem, they must submit the problem to the responsible person, and the responsible person should provide the solution and solve the problem. Software Quality Assurance personnel only track issues until they are resolved. If the problem cannot be resolved at the responsible person, submit the problem to the project manager. If the problem persists, submit it to the senior manager. The problem is submitted layer by layer until the conclusion is reached. The decision makers are responsible for the final conclusion of solving the problem or temporarily suspending the problem. If the software quality assurance personnel are required to solve quality problems, they may fall into it, losing the most valuable independence and objectivity of the Software Quality Assurance personnel.
Misunderstanding 4: The Software Quality Assurance personnel are dedicated to supervising the members of the project team.

The Software Quality Assurance personnel are not responsible for supervising the project team members. They only reflect the project team situation to managers from a third party and objective perspective, so that managers can understand the deviations between the project and the prescribed process. If the software quality assurance personnel put themselves on the opposite side of the project team and specifically look for problems with the project team, the project team members may hide the real problems, so that the problems cannot be solved. The Software Quality Assurance personnel are helpful to the project team. They want to help the project team improve the standardization and standardization of development and management activities. When identifying problems, they must first solve them in the project team.
In short, to ensure the quality of software in the enterprise, the most important thing is to let all employees realize that quality is not dependent on one or more masters, but on the whole process. A good process is a prerequisite for a good product. It must become part of the corporate culture and be deeply rooted in the hearts of every employee.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.