Software quality management
Encyclopedia

Definitions


  • The aim of Software Quality Management (SQM) is to manage the quality of software
    Software quality
    In the context of software engineering, software quality refers to two related but distinct notions that exist wherever quality is defined in a business context:...

     and of its development process.

  • A quality product is one which meets its requirements and satisfies the user

  • A quality culture is an organizational environment where quality is viewed as
    everyone’s responsibility.


Introduction

Integrating SQM into the development lifecycle from day 1 is a way to ensure the successful development of a quality product.

Description

The computer scientist Ian Sommerville uses SQM as an umbrella-term that includes the following quality layers:

  1. Software Quality Assurance (SQA) layer

    An Organizational quality guide of

    • Standards, regulations, and procedures to produce, verify, evaluate and confirm work
      products during the software development lifecycle

    • Incorporated knowledge base of best practices

    • Off-the-shelf software tools selected to apply the above



  2. Software Quality Plan (SQP) layer

    A project level quality plan written by each project for declaring project commitment to follow
    an applicable set of standards, regulations, procedures and tools during the development
    lifecycle. In addition, SQP should contain quality goals to be achieved, expected risks and
    risk management. SQP sources are derived from

    • SQA components that are adopted as is or customized to the project's needs

    • New procedures, standards and tools complementing missing or not-applicable
      SQA components that have been written in particular for the project,
      or imported from outside the organization.


  3. Any deviation of an SQP from SQA should be justified by the project manager and be confirmed
    by the company management.

  4. Software Quality Control (SQC) layer

    Ensures in-process that both SQA and SQP are being followed by the development teams.

    SQC activities include

    • Mentoring how to produce artifacts, such as well-defined engineering documents
      using standard templates

    • Mentoring how to conduct standard processes, such as quality reviews

    • Perform in-process quality reviews to verify, evaluate and confirm artifacts

    • Verify and evaluate to improve the use of methods, procedures and adopted software tools



SQM Roles


  • to ensure that the required level of quality is achieved in a software product

  • to encourage a company-wide "Quality Culture" where quality is viewed as
    everyone’s responsibility

  • to reduce the learning curve and help with continuity in case team members change positions
    within the organization

  • to enable in-process fault avoidance and fault prevention through proper development


Many people use the terms SQM and SQA (Software quality assurance
Software quality assurance
Software quality assurance consists of a means of monitoring the software engineering processes and methods used to ensure quality. The methods by which this is accomplished are many and varied, and may include ensuring conformance to one or more standards, such as ISO 9000 or a model such as...

) interchangeably.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK