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.
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.
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.