Skip to content

Utility Tree

A utility tree is a hierarchical model of product quality. arc42 also calls it a quality tree. The root is the generic term “quality”. The tree refines that term step by step into more specific parts (f1, f4). Bass and colleagues introduced the term “Quality Attribute Utility Tree” (f2).

The leaves are scenarios. A quality scenario makes a quality requirement concrete. It lets you decide whether the requirement is met (f3). The Quality Attribute Scenario article explains scenarios in detail. Scenarios form the leaves of the tree (f5). They drive architectural decisions. The categories above them do not (f7).

How teams build it. arc42 recommends discussing quality goals with the decisive stakeholders, preferably in a joint workshop. The tree then works as a checklist (f8).

Finding gaps. You can start from a tree shaped like the ISO/IEC 25010 Product Quality Model. If a major branch has no scenarios, a scenario may be missing (f9).

A team starts a workshop with a tree that has the branches “performance”, “security” and “modifiability”. The stakeholders write scenarios under each branch. Under “performance” they write: “A customer search returns results quickly during a busy sale.” The “security” branch stays empty. The team asks whether a security scenario is missing and adds one. The finished scenarios then guide which design questions the team discusses.

The tree is a strict hierarchy. Each quality property must go into a single branch, even if it could fit under several (f6).

The categories alone decide nothing. Only the concrete scenarios drive design choices (f7). A tree with vague or missing scenarios gives little value.

A small quality tree: the root is quality, branches are categories, leaves are scenarios.

Diagram source
mindmap
root((Quality))
Performance
Scenario: fast search under load
Security
Scenario: block unauthorized access
Modifiability
Scenario: add a feature quickly
  • The quality tree has scenarios as its leaves, not only category names.
  • Each scenario is concrete enough to decide whether it is fulfilled.
  • Decisive stakeholders took part in building or discussing the tree, for example in a workshop.
  • Major branches without scenarios have been reviewed as possible gaps.