Catalog
concept#Architecture#Software Engineering#Governance#Reliability

Quality Attributes

Concept of non-functional quality properties of systems that shape architectural decisions and evaluation criteria.

Quality attributes describe non-functional requirements such as performance, security, or maintainability and provide qualitative criteria for architectural decisions.
Established
Medium

Classification

  • Medium
  • Technical
  • Architectural
  • Intermediate

Technical context

Monitoring tools (e.g. Prometheus, Grafana)CI/CD pipelines for performance and load testsIssue tracking and architecture documentation systems

Principles & goals

Define qualities measurably (e.g. concrete metrics and thresholds).Prioritize by business impact and risk.Link quality goals across design, testing, and operations.
Discovery
Enterprise, Domain, Team

Use cases & scenarios

Compromises

  • Over-optimizing one attribute weakens others (e.g. performance vs maintainability).
  • Ignored quality attributes can lead to outages or security gaps.
  • Unclear criteria lead to inconsistent implementations.
  • Define metrics early and measure continuously.
  • Document trade-offs and make decisions traceable.
  • Embed quality goals into acceptance criteria and SLAs.

I/O & resources

  • Business goals and SLAs
  • Technical architecture overviews and component lists
  • Stakeholder requirements and operational conditions
  • Prioritized quality attributes with metrics
  • Test and monitoring plans
  • Architectural decisions and risk documentation

Description

Quality attributes describe non-functional requirements such as performance, security, or maintainability and provide qualitative criteria for architectural decisions. They enable prioritization and trade-off analysis by defining measurable expectations and target states. In design, they drive trade-offs and inform testing and monitoring objectives.

  • Increased predictability of system behavior under load.
  • Better basis for architectural trade-offs.
  • Clear criteria for tests, SLAs, and operations.

  • Difficulty in precisely measuring some attributes.
  • Context-dependence can hinder generalization.
  • Priorities may change with market or user requirements.

  • Response time (P95)

    Time within which 95% of requests are served; important for performance SLAs.

  • Availability (uptime)

    Percentage of uptime within a defined interval.

  • Mean time to recovery (MTTR)

    Average time to recover after an outage.

Checkout latency in online shop

Requirement: maximum 200 ms response time under peak load to avoid checkout abandonment.

Banking system availability

Requirement: 99.99% availability and defined recovery times for critical transactions.

IoT device battery life

Requirement: energy-optimized communication to ensure a minimum one-year operational lifetime.

1

Conduct stakeholder workshop to elicit quality attributes.

2

Formulate scenarios and derive metrics.

3

Ensure integration into design, testing, and monitoring processes.

⚠️ Technical debt & bottlenecks

  • Performance workarounds create long-term maintenance burden.
  • Undocumented dependencies increase fragility.
  • Unclear quality goals lead to inconsistent implementations.
High coupling between modulesLegacy dependenciesLimited resources (CPU, network, memory)
  • Implementing performance requirement without defined load profiles.
  • Weakening security measures to temporarily increase usability.
  • Prioritizing all quality attributes equally without business context.
  • Choosing metrics that are easy to measure but irrelevant.
  • Not validating assumptions regularly.
  • Lack of linkage between architecture and operations teams.
Architectural and systems thinkingKnowledge of measurement and monitoring techniquesFacilitation and prioritization skills
Performance requirements (latency, throughput)Security and compliance requirementsMaintainability and extensibility
  • Budget and time constraints for implementation
  • Regulatory requirements (e.g. data protection)
  • Existing technical platforms and integrations