BT
x Your opinion matters! Please fill in the InfoQ Survey about your reading habits!

An Introduction to Software Quality

by Abel Avram on Apr 06, 2012 |

In two recent papers, David Chappell, Principal of Chappell & Associates, outlines the different aspects of software quality – functional, structural, and process-, the groups of people directly interested in quality –users, developers, and sponsors-, and the outcome of defects in externally or internally facing software over time.

In the paper The Three Aspects of Software Quality: Functional, Structural, and Process (PDF), Chappell outlines three facets of the quality of a software: functional, structural, and process, each one being related in some way to the three groups of people directly interested in the final product or service: users, developers, sponsors. Functional quality expresses how well the software performs the tasks requested by its users. Chappell distinguishes four attributes of this type of software quality:

  • The software meets the specified requirements
  • It has few defects
  • It has reasonable performance
  • It is easy to learn and use

Structural quality measures how well the software is organized, being defined by the following attributes:

  • Code testability 
  • Code maintainability
  • Code understandability
  • Code efficiency – does it manage resources efficiently?
  • Code security – does it prevent common security threats?

While functional and structural quality “get the lion’s share of attention in discussions of software quality,” Chappell considers that process quality is also very important, its most known attributes being:

  • The software meets delivery dates
  • It meets budgets
  • A repeatable development process is in place, one that reliably delivers quality software

Chappell considers that users are mostly interested in functional quality, and have some interest in the delivery dates attribute of process quality. Developers care mostly about structural quality, because it has a direct impact on their work, but they also are interested in  functional quality, but not as much as the users, and in process quality because “it provides many of the metrics by which they are measured.” The sponsors of a project should care about all aspects of software quality, knowing that each facet has an impact on the final results.

In the paper The Business Value of Software Quality (PDF), Chappell discusses the impact of low quality software on a business. He distinguishes two types of software: externally facing software – used by an organization’s customers, and internally facing software – used by an organization’s own employees.

Chappell recalled the damages following a security breach of Sony’s PlayStation Network in April 2011 when 70 million accounts were compromised due to an exploit of a known security vulnerability in a certain database, and a backup system failure affecting RIM’s customers worldwide for three days in October 2011. Such quality defects have the following impact on the business over time, according to Chappell:

  • Financial losses due to lost business
  • Financial losses due to reparations needed to be performed
  • Financial losses due to lost customers
  • Financial losses due to legal lawsuits
  • Brand value losses

Lack of quality in internally facing software can lead to the following outcome over time:

  • Slower user adoption
  • Reduced business benefits 
  • More challenges for IT leaders
  • Lower brand equity for the IT department
  • Greater chances for outsourcing the software

All three quality aspects need to be attended to – functional, structural, process – both for internally or externally facing software in order to reach a successful outcome. 

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Arrows between 3 aspects of quality. by Raghu Dodda

Very well-written whitepaper.

The diagram that shows the relationship between aspects of software quality and the people who care about it has an arrow from Process Quality > Structural Quality > Functional Quality > Users. And, the the circle that represents structural quality has arrows pointing to all people.

Do the arrows in the diagram indicate the relationships between different aspects of quality? If so, how?

Re: Arrows between 3 aspects of quality. by Abel Avram

It is obvious that the 3 aspects of quality are related and influence one another, but I don't think the diagram intends to convey the relationship between them.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

2 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT