Software quality part 4

I received an email asking: “Who is responsible for the quality of the software? Should it be Software Quality Assurance because it is their job or the tester who should test for quality? How do I measure the quality of a software product?

My answer: “Defect is one way to measure the quality of the product but there are more. Basically, Software requirements are the foundation from which quality is measured. If the final product does not meet the requirements then it is not a quality product. Every project must follow a defined process or a set of criteria that guide the software activities. If the process is not followed, the development is also not a high quality. There is also a set of “implicit” requirements that often goes unmentioned (e.g. maintainability, performance, usability, scalability etc.). If software only conforms to its “explicit” requirements but fails to meet its “implicit” requirements then software quality is also not very good.

The question on software quality rests with who is responsible for the quality of software? Who is responsible for setting quality goals? Without the proper answers, the software quality could be compromised.

Software Quality Assurance (SQA) can only review the project to ensure that the development process are being followed and certain tests are being conducted properly but they can not be responsible for the quality of the software. Software testers are responsible for testing the software to ensure that it meets the requirements and runs accordingly but they are not responsible for the quality of software. Actually the project manager and the development team who implement the software are responsible for the quality of the software. The project manager must set the quality goals both for the “Explicit” requirements such as meeting requirements and less defects and “Implicit” requirements such as performance, usability and scalability etc. To ensure that the software will be implemented correctly, the project manager should identify a number of reviews throughout the project and document them in the project plan.

The SQA member will review the project by following the project plan defined by the project manager. The SQA will meet with the Project manager approximately one week prior to a scheduled review to discuss the actual date, the artifacts to be reviewed, the project team members whom SQA can contact should questions arise. SQA must prepare the checklists and review the artifacts prior to the review date.

During the review, SQA must review the project teamwork activities by checking the resulting work artifacts against the associated process defined in the project plan and the checklists. The results will be recorded to determine compliances and reported to the project manager. The project manager must resolve any noncompliant issues in a timely fashion (Within one to two weeks). Noncompliant issues that are not resolved promptly shall be escalated to the SQA manager and the Software manager to address the situation with the project manager. If they cannot solve the issue then it must be escalated to the Software Director or Product Manager who ultimately must solve the problem to ensure quality product.

Sources

  • Blogs of Prof. John Vu, Carnegie Mellon University