design-practice-repository

Summaries of artifacts, templates, practices, and techniques for agile architecting (DPR-mm) and service design (SDPR-nn).

DPR Git Pages HomeArtifacts Index

Artifact/Template: Quality Attribute Scenario (QAS)

also known as: SMART Non-Functional Requirement (NFR) Specification

A quality attribute scenario specifies a measurable quality goal for a particular context.

There might be multiple goals and corresponding scenarios, even when dealing with a single quality in a single context.

Motivation (Addressed Information Need)

It is not sufficient to find out and specify what a system under construction is supposed to do. It is equally important to investigate how it does so (from an architectural point of view). Vague statements such as “we value a splendid user experience” or “the faster, the better” are not verifiable and lead to tension between the project team and its external stakeholders.

Usage (Produced and Consumed When)

QAS are created, refined, and used in:

Template Structure and Notation(s)

The full template look as follows (with explanations). Note that the six rows in the middle, from “Stimulus” to “Response Measure”, which are grouped as “Scenario Components”, form the core of a QAS. The other ones provide context information and deal with consequences of the specified response and response measure.

Annotated QAS Template

See the sample chapter of ADD 3.0 book by Humberto Cervantes and Rick Kazman (@Cervantes:2016) or the section overview of arc42 for QAS visualizations.

Example(s)

QAS Example: Desired Performance in Order Management Scenario

Tools

This is a text artifact, possibly structured with the help of templates and tables. Any word processing or other tool supporting item lists and table formatting can be used to create QAS instances, including wikis, markup languages, and Markdown.

Requirements management tools provide additional tooling options.

Hints and Pitfalls to Avoid (Common Pitfalls)

Origins and Signs of Use

Relate activities in DPR are:

Many artifacts require specific and measurable NFRs as input, including but not limited to Architectural Decision Records (ADRs) and Deployment Diagrams.

More Information

Related concepts include:

The blog post “Do Software Architectures Meet Extra-Functional or Non-Functional Requirements?” covers NFRs.

Data Provenance

title: "Design Practice Repository (DPR): Quality Attribute Scenario"
author: Olaf Zimmermann (ZIO)
date: "08, 30, 2024"
copyright: Olaf Zimmermann, 2023-2024 (unless noted otherwise). All rights reserved.
license: Creative Commons Attribution 4.0 International License