See also questions:

We use the term quality goals synonym to architecture goal:

A quality attribute that the system needs to achieve. These goals often have long term character in contrast to (short term) project goals.

Software quality in general is the degree to which a system possesses the desired combination of attributes (see: software quality).

Important quality attributes are performance, robustness, security, safety, flexibility, dependability, maintainability etc..

It’s helpful to distinguish between

  • runtime quality attributes (which can be observed at execution time of the system),
  • non-runtime quality attributes_ (which cannot be observed as the system executes) and
  • business quality attributes (cost, schedule, marketability, appropriateness for organization)

Examples of runtime quality attributes are functionality, performance, security, availability, usability and interoperability.

Examples of non-runtime quality attributes are modifiability, portability, reusability, testability.

It sometimes helps to take a look at the (very generic) ISO-25010 software product quality tree, which summarizes most practically relevant potential quality goals on the abstraction level of “quality attributes (see below)

ISO 25010 Software Product Quality Tree