An Introduction to Software Quality

| by Abel Avram Follow 11 Followers on Apr 06, 2012. Estimated reading time: 2 minutes |

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. 

Rate this Article

Adoption Stage

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

Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you