Skip to content
Ameen Abozaid
SRC-002

Quality attributes

  • 8 Lessons
  • 4 h practice (estimate)
On this page 9 topics

Overview

Topics

  • Availability
  • scalability
  • maintainability
  • reliability
  • security
  • operability

Learn first

4 h of practice (estimate)

Learning outcomes

  1. Define availability, scalability, maintainability, reliability, security, and operability in measurable terms.
  2. Explain how quality attributes trade off against each other and against cost.
  3. Prioritize quality attributes with stakeholders using a utility tree.
  4. Map each prioritized attribute to the tactics that achieve it.

Lessons

  1. 01Quality attributes drive architecture
  2. 02Availability and reliability, measured
  3. 03Scalability and elasticity
  4. 04Maintainability and operability
  5. 05Security as a quality attribute
  6. 06Utility trees and prioritization
  7. 07Tactics catalog
  8. 08Demo: building the utility tree for the order subsystem

Lab and exercises

Lab

SRC-002-LAB1 · Utility tree

Outcomes: 1–4 · Time: ~2 h

  1. Start from the SRC-001 scenarios and define each attribute (availability, scalability, maintainability, reliability, security, operability) with a measure.
  2. Build the utility tree for the order subsystem: attributes, leaf scenarios, importance and difficulty ratings.
  3. Review it with role-played stakeholders; force-rank to find the top three attributes.
  4. Attach tactics, with cost and side effects, to every leaf.

Acceptance: top three attributes agreed with role-played stakeholders and justified.

Exercises (case-based; six exercises)

IDOutcomeTask
SRC-002-EX011Write a measurement definition for "checkout availability 99.95%" (probe, what counts as failure, window, exclusions) and compute allowed monthly downtime.
SRC-002-EX021Checkout depends serially on three services at 99.95%, 99.9%, and 99.9%. Estimate combined availability and say what you would do.
SRC-002-EX032Pick two attributes that conflict in the order subsystem and describe the trade-off including cost.
SRC-002-EX043Given a stakeholder who rates all ten leaves High, plan the conversation to reach a ranking.
SRC-002-EX054For the three top leaves, list two tactics each with cost and side effect.
SRC-002-EX061Turn "the system must be secure and maintainable" into two measurable scenarios.
Show solutions
  • EX01 Probe the order-submit endpoint through the load balancer every 10 s plus real-request error rate; count 5xx and timeouts over 2 s as failures; monthly window; exclude announced maintenance if agreed. 0.05% of 30 days is about 21.6 minutes.
  • EX02 About 99.75% (0.9995 x 0.999 x 0.999 is roughly 0.9975), below target. Options: remove a dependency from the critical path, make one asynchronous, add a fallback, or add redundancy.
  • EX03 For example availability vs cost (second region doubles infrastructure) or latency vs consistency (replica reads are faster but stale). State the price and who accepts it.
  • EX04 Give a fixed budget of votes, ask what you would sacrifice first, show costs per leaf, and escalate unresolved choices to the accountable owner.
  • EX05 Availability: multi-AZ database with automated failover (cost, longer commit latency), graceful degradation (feature loss); latency: read cache (staleness), async confirmation emails (eventual delivery); operability: dashboards and runbooks (maintenance effort), SLO alerts (tuning effort).
  • EX06 Security: stolen token rejected after expiry and alert within 1 minute; maintainability: a small change in the order module goes to production in under one day with passing tests.

Outcome 3 is also covered by the lab review with role-played stakeholders; outcome 4 by the lab tactics column.

Workplace evidence: a design decision you influenced by making a quality attribute explicit.

Quiz

Outcomes: O1 measurable attribute definitions · O2 trade-offs and cost · O3 utility tree · O4 tactics.

A self-check for you: nothing is graded, saved or sent anywhere. Choose an answer, then check it. You can try again as often as you like.

  1. 1Which statement makes availability measurable?O1
  2. 2Two components in series, each 99.9%, give roughly:O1
  3. 3Which is a measure of operability?O1
  4. 4Adding a read cache to lower latency typically costs:O2
  5. 5Why can't every attribute be top priority?O2
  6. 6A utility tree's leaves are:O3
  7. 7Which leaves need the most design effort?O3
  8. 8A stakeholder rates every leaf High. Best response?O3
  9. 9Which is an availability tactic?O4
  10. 10Besides the tactic itself, what should be recorded?O4

Practical part

Six case exercises SRC-002-EX01 to EX06 plus the lab. Pass: quiz at least 8/10, at least five exercises correct, and a utility tree passing review with the top three attributes agreed and justified.

Common mistakes

Treating every attribute as top priority; availability numbers without a measurement definition.

Assessment

Utility-tree review.

Workplace evidence

A design decision you influenced by making a quality attribute explicit.

Career relevance

Architecture principles (ARC-007) and reviews (SRA-017).

Type to search levels, phases, modules and lessons.