Zington Z logo

Understanding Quality

(2021-06-28)

Quality is a multi-dimensional term. The pictogram below try to visualize both internal and external quality attributes for software systems - and corresponding QA activities.

External quality attributes

The external quality attributes are represented by a chain, with each link representing a specific quality attribute. If any of the links break it will lead to unhappiness for relevant stakeholders.
Of-course, the different quality attributes carry different weight depending on the context. Many systems need to have thorough security, some internal systems don't have any competitors - making the charisma quality attribute less relevant (yes even an API could have more or less charisma).

The visualizations below are derived from the quality attributes compiled, with descriptions and examples, here: https://thetesteye.com/blog/publications/.

Internal quality attributes

The bubbles in the visualization below represent internal attributes. These are often down-prioritized or neglected since anyone external from the team are not aware of the state of these. However, they affect the ability to keep the software relevant to a large extent - especially in the long run.

Quality attributes
Quality attributes (click for full quality)

How do you mitigate quality risks?

Assessing that your software will not fail from being a success is hard. It require numerous QA activities. Often you have to prioritize what to assess, but you may gain a lot of testing abilities by paying attention to internal quality attributes like testability.

Quality attributes and corresponding mitigating actions
Quality attributes and corresponding mitigating actions (click for full quality)

It's easy to forget how complex the quality term is. Many organization focus totally on functional testing, and place security assurance in a separate organizational department/team.