Skip to content
Surf Wiki
Save to docs
technology/software-engineering

From Surf Wiki (app.surf) — the open knowledge base

Software quality management

System to ensure software meets quality standards

Software quality management

Summary

System to ensure software meets quality standards

Software Quality Management (SQM) is a management process that aims to develop and manage the quality of software in such a way so as to best ensure that the product meets the quality standards expected by the customer while also meeting any necessary regulatory and developer requirements, if any. Software quality managers require software to be tested before it is released to the market, and they do this using a cyclical process-based quality assessment in order to reveal and fix bugs before release. Their job is not only to ensure their software is in good shape for the consumer but also to encourage a culture of quality throughout the enterprise.

Quality management activities

Software quality management activities are generally split up into three core components: quality assurance, quality planning, and quality control. Some like software engineer and author Ian Sommerville don't use the term "quality control" (as quality control is often viewed as more a manufacturing term than a software development term), rather, linking its associated concepts with the concept of quality assurance. However, the three core components otherwise remain the same.

Quality assurance

Main article: Software quality assurance

Software quality assurance sets up an organized and logical set of organizational processes and deciding on that software development standards — based on industry best practices — that should be paired with those organizational processes, software developers stand a better chance of producing higher quality software. However, linking quality attributes such as "maintainability" and "reliability" to processes is more difficult in software development due to its creative design elements versus the mechanical processes of manufacturing. Additionally, "process standardization can sometimes stifle creativity, which leads to poorer rather than better quality software."

This stage can include:

  • encouraging documentation process standards, such as the creation of well-defined engineering documents using standard templates
  • mentoring how to conduct standard processes, such as quality reviews
  • performing in-process test data recording procedures
  • identifying standards, if any, that should be used in software development processes

Quality planning

Quality planning works at a more granular, project-based level, defining the quality attributes to be associated with the output of the project and how those attributes should be assessed. Additionally, any existing organizational standards may also be assigned to the project at this phase. Attributes such as "robustness," "accessibility," and "modularity" may be assigned to the software development project. While this may be a more formalized, integral process, those using a more agile method of quality management may place less emphasis on strict planning structures. The quality plan may also address intended market, critical release dates, quality goals, expected risks, and risk management policy.

Quality control

The quality control team tests and reviews software at its various stages to ensure quality assurance processes and standards at both the organizational and project level are being followed. (Some like Sommerville link these responsibilities to quality assurance rather than call it quality control.) These checks are optimally separate from the development team so as to lend more of an objective view of the product to be tested. However, project managers on the development side must also assist, helping to promote as part of this phase a "culture that provides support without blame when errors are discovered." In software development firms implementing a more agile quality approach, these activities may be less formal; however, a switch to agile methods from a more formal quality management structure may create problems if management procedures aren't appropriately adapted.

Activities include:

  • release testing of software, including proper documentation of the testing process
  • examination of software and associated documentation for non-conformance with standards
  • follow-up review of software to ensure any required changes detailed in previous testing are addressed
  • application of software measurement and metrics for assessment

Software quality and the software lifecycle

The measurement of software quality is different from manufacturing; tolerances aren't applicable (at least in the same way), and objective conclusions concerning if software meets specifications are difficult if not impossible to achieve. However, software's quality and fit-for-purpose status can still be realized in various ways depending on the organization and type of realized project. This done through the support of the entire software development lifecycle, meaning:

  • collecting requirements and defining the scope of an IT project, focused on verification if defined requirements will be testable;
  • designing the solution, focused on planning a test process, e.g., what type of tests will be performed and how they will be performed in the context of test environments and test data?;
  • implementing a solution supported by test cases and scenarios, executing them, and registering defects, including the coordination of resolving the defects;
  • implementing change management, supported by verification of how planned changes can influence the quality of a created solution and eventual change of a test plan; and
  • closing the project, supported by the realization of tests focused on complex verification of the overall quality of the created solution.

Associations and organizations

  • The American Society for Quality (ASQ) is a professional organization that provides its members with certification, training, publications, conferences, and other services related to quality management, continual improvement, and product safety.
  • The International Software Testing Qualifications Board (ISTQBP is a non-profit, international association registered in Belgium. It manages the certification process for software testers and boasts more than 535,000 certificates issues in over 120 countries.

References

References

  1. Zsolt, U.. (February 2014). "Software quality management". University of Pannonia.
  2. Maxim, B.R.. (2014). "Software Quality Management". University of Michigan - Dearborn.
  3. Sommerville, I.. (2011). "Software Engineering". Addison-Wesley.
  4. Kelemen, Z. D. (2013). ''[http://repository.tue.nl/741509 Process Based Unification for Multi-Model Software Process Improvement]'' Eindhoven: Technische Universiteit Eindhoven. {{ISBN. 978-90-386-3313-8
  5. OGC (Office of Government Commerce) (2009). Managing Successful Projects with PRINCE2 (2009 ed.). TSO (The Stationery Office). {{ISBN. 978-0-11-331059-3
  6. ''A Guide to the Project Management Body of Knowledge, Fourth Edition'', PMI, USA, 2008
  7. Microsoft Solution Framework - Chapter 18 Stabilization phase, Published: April 27, 2005 [https://technet.microsoft.com/en-us/library/bb463142.aspx]
  8. "Certifying Software Testers Worldwide". International Software Testing Qualifications Board.
Wikipedia Source

This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page.

Want to explore this topic further?

Ask Mako anything about Software quality management — get instant answers, deeper analysis, and related topics.

Research with Mako

Free with your Surf account

Content sourced from Wikipedia, available under CC BY-SA 4.0.

This content may have been generated or modified by AI. CloudSurf Software LLC is not responsible for the accuracy, completeness, or reliability of AI-generated content. Always verify important information from primary sources.

Report