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:

  • Software functional quality reflects how well it complies with or conforms to a given design, based onfunctional requirements or specifications. That attribute can also be described as the fitness for purpose of a piece of software or how it compares to competitors in the marketplace as a worthwhile product;
  • Software structural quality refers to how it meetsnon-functional requirements that support the delivery of the functional requirements, such as robustness or maintainability, the degree to which the software was produced correctly.

Structural quality is evaluated through the analysis of the software inner structure, its source code, at the unit level, the technology level and the system level, which is in effect how its architecture adheres to sound principles of software architecture outlined in a paper on the topic by OMG. In contrast, functional quality is typically enforced and measured through software testing.

The Consortium for IT Software Quality (CISQ) has defined five major desirable structural characteristics needed for a piece of software to provide business value: Reliability, Efficiency, Security, Maintainability and (adequate) Size.

Software quality measurement quantifies to what extent a software or system rates along each of these five dimensions. An aggregated measure of software quality can be computed through a qualitative or a quantitative scoring scheme or a mix of both and then a weighting system reflecting the priorities. This view of software quality being positioned on a linear continuum is supplemented by the analysis of “critical programming errors” that under specific circumstances can lead to catastrophic outages or performance degradations that make a given system unsuitable for use regardless of rating based on aggregated measurements. Such programming errors found at the system level represent up to 90% of production issues, whilst at the unit-level, even if far more numerous, programming errors account for less than 10% of production issues.

Clifford Shelley

Clifford Shelley

Consulting Software Engineer

Oxford Software Engineering, Oxford, United Kingdom

Geoff Thompson

Geoff Thompson

Consultancy Director

Experimentus Ltd, UK

Jay Douglass

Jay Douglass

Chief Operating Officer

Advanced Robotics for Manufacturing Institute University of Pittsburgh

K K Raman

K K Raman

Executive Director

Management Consulting Services and Head of Business Excellence Practice of KPMG

Marilyn Bush

Marilyn Bush

Owner, Marilyn Bush Associates,co author CMM and CMMI assessments

Marilyn Bush Associates,  University of Pennsylvania, Oxford, United Kingdom

Trevor Lea-Cox

Trevor Lea-Cox

Working on Business Automation

University of the Witwatersrand Reading, United Kingdom

Vinu Varghese

Vinu Varghese

General Manager, Wipro Technologies

Sydenham Institute of Management Studies, Geneva Area, Switzerland

Impact of Emerging trends in IT and Technology – Vinu Varghese