skip to content

Stakeholders, Concerns, and Perspectives

The conceptual model behind architecture description — stakeholders have concerns, viewpoints frame them, views answer them, as codified in ISO/IEC 42010 and by Rozanski and Woods. You will learn to elicit concerns first so the views you produce are the ones somebody needed.

part ofSoftware design & architectureoverview, primer and where to startread it →
on this pageshow

questions

6

In the ISO/IEC 42010 conceptual model for architecture description, what is the difference between a stakeholder, a concern, an architecture viewpoint, and an architecture view?

level: juniorimportance: must knowfreq 55%

answer

  1. stakeholder → concern → viewpoint → view
  2. viewpoint = template/class, view = instance for THIS system
  3. every concern framed by ≥1 viewpoint (closure rule)
  4. view = 1+ models; model kind = notation
  5. correspondence rules + rationale keep views honest

basics

~20 s

Stakeholders are people who care about the system; concerns are what they care about (cost, security, uptime). A viewpoint is a reusable template for describing one such area; a view is the actual description produced by applying that template to your system.

solid answer

~50 s

ISO/IEC 42010 defines a small vocabulary. A **stakeholder** is any individual, team, or organization with an interest in the system — users, developers, operators, acquirers, regulators. A **concern** is an interest of one or more stakeholders relevant to the system: performance, cost, regulatory compliance, ease of change. An **architecture viewpoint** is a reusable specification — conventions, notations, model kinds, and analysis techniques — for constructing one kind of description, and it declares which concerns it frames. An **architecture view** is the result of applying one viewpoint to one system; it consists of one or more **architecture models**. The standard's key well-formedness rule is closure: the architecture description must identify its stakeholders and their concerns, and every identified concern must be framed by at least one viewpoint. Viewpoint is to view as class is to instance, or as blueprint-type is to the actual blueprint of this building.

code

yaml · 25 lines
yaml
# skeleton of an ISO/IEC 42010-shaped architecture description
stakeholders:
  - id: ops
    concerns: [availability, upgrade-without-downtime]
  - id: dpo            # data protection officer
    concerns: [pii-residency, auditability]

viewpoints:
  - id: deployment
    frames: [availability, upgrade-without-downtime, pii-residency]
    modelKinds: [node-diagram, node-to-region-table]
  - id: information
    frames: [pii-residency, auditability]
    modelKinds: [entity-relationship, data-lifecycle-table]

views:              # exactly one per viewpoint used
  - viewpoint: deployment
    models: [prod-nodes.svg, region-map.md]
  - viewpoint: information
    models: [er.svg, retention.md]

correspondences:
  - rule: "every entity holding PII appears in region-map with a residency region"

# check: is any concern above NOT framed by some viewpoint? -> that's a gap

go deeper

for a junior

Get the four terms right and the direction of the chain: people → what they worry about → the template → the actual document. Say that viewpoint is the reusable template and view is the instance for your system.

for a middle

Add the closure rule (every concern framed by at least one viewpoint, every viewpoint framing at least one concern) and use it to justify producing fewer documents. Mention model kinds and that a view contains one or more models.

for a senior

Position 42010 as a meta-model that 4+1, Views and Beyond, and Rozanski & Woods all instantiate. Bring in correspondences, correspondence rules, recorded inconsistencies, and rationale/decisions, and talk about documentation cost and drift.

for a principal

Talk about governance: viewpoint libraries reused across an organization, who proxies absent stakeholders such as regulators and future maintainers, re-eliciting concerns at milestones, and how the 2022 revision generalizes the standard beyond software and adds architecture aspects for cross-cutting quality properties.

## Why this vocabulary exists Before ISO/IEC 42010 (which grew out of IEEE 1471-2000), teams argued endlessly about "how many diagrams should an architecture document have?" The standard reframes the question: you do not produce diagrams because a template demands them, you produce them because an **identified person** has an **identified worry** that the diagram answers. It is a *meta-model* — it does not tell you which views to draw; it tells you how the pieces of any architecture description relate. ## The terms, defined from zero - **System-of-interest** — the thing whose architecture you are describing (a service, a product, an enterprise, even a business process). "Architecture" in the standard is the *fundamental concepts or properties* of that system in its environment, embodied in its elements, relationships, and design principles. - **Architecture description (AD)** — the concrete work product: the documents, diagrams, models, and prose. The architecture is abstract; the AD is the artifact you can review and put in version control. - **Stakeholder** — an individual, team, organization, or class thereof holding an interest in the system. Crucially it is *not* only the paying customer. Typical classes: users, acquirers/sponsors, developers, maintainers, testers, system administrators/operators, support staff, suppliers, assessors (auditors, regulators, security reviewers), and communicators (those who explain the system, e.g. trainers, technical writers). - **Concern** — any interest of a stakeholder pertaining to the system: functional need, quality property (performance, availability, security, modifiability), cost, schedule, staffing, regulatory constraint, technology risk, lifecycle/decommissioning. A concern is a *worry that could be answered or violated*, not merely a topic. - **Architecture viewpoint** — a *reusable specification* for how to build one kind of view. A well-formed viewpoint definition states: the concerns it frames, the typical stakeholders it serves, the **model kinds** it uses (notation/metamodel/conventions, e.g. "a UML component diagram", "an ER diagram", "a deployment table"), the operations and analysis techniques you can perform on those models, and known pitfalls. Viewpoints are library items: you can reuse the "Deployment viewpoint" across many systems and even import viewpoints defined by others. - **Architecture view** — the result of applying exactly one viewpoint to one system-of-interest. It is *system-specific*. A view is composed of one or more **architecture models** (the individual diagrams/tables), and a single model may in fact be shared by more than one view. - **Correspondence / correspondence rule** — a recorded relationship between elements across models/views (e.g. "every component in the functional view maps to at least one node in the deployment view") and the rule that constrains it. This is how multi-view descriptions stay consistent. - **Architecture decision and rationale** — the standard also lets you record decisions, the alternatives considered, and why one was chosen, and to trace decisions back to the concerns that motivated them. ## The governing rules (what "conformance" means) An AD conforming to ISO/IEC 42010 must: 1. Identify the system-of-interest and the AD's own identifying information. 2. Identify the **stakeholders** it addresses. 3. Identify their **concerns** (the standard calls out a minimum set that must at least be considered: system purpose, suitability for purpose, feasibility of construction/deployment, potential risks and impacts to stakeholders, and maintainability/evolvability). 4. Identify the **viewpoints** used, and for each, which concerns it frames and which stakeholders it addresses. 5. Contain exactly **one view per viewpoint** used. 6. Record correspondences and any known inconsistencies. 7. Record rationale for the architecture decisions made. The closure rule is the useful part in practice: **every concern must be framed by at least one viewpoint, and every viewpoint must frame at least one concern.** That gives you a two-way test. A concern nobody's view addresses is an *undocumented risk*. A view that frames no live concern is *waste* — delete it. ## Viewpoint vs view: the distinction people get wrong The viewpoint exists **before** and **independently of** your system; the view exists **only for** your system. "The Deployment viewpoint" is a genre; "the deployment view of the payments platform" is one instance of that genre. Saying "we need a deployment viewpoint for our system" is a category error — you need a deployment *view*, produced by applying the deployment *viewpoint*. ## How this relates to other well-known view sets - **Kruchten's 4+1** (logical, process, development, physical, + scenarios) is one *fixed set of viewpoints*, predating the standard, and can be expressed as a viewpoint library. - **SEI Views and Beyond** groups view types into module, component-and-connector, and allocation "viewtypes", with styles inside each — again a viewpoint library plus documentation rules. - **Rozanski & Woods** define seven viewpoints (Context, Functional, Information, Concurrency, Development, Deployment, Operational) plus cross-cutting *perspectives* for quality properties. All three are compatible with 42010; the standard is deliberately view-set agnostic. ## Trade-offs and edge cases - **Cost of documentation.** Each view costs effort to write and — worse — to keep current. The stakeholder→concern→viewpoint chain is precisely the tool for justifying *minimum yet sufficient* documentation. - **Stakeholders who cannot attend.** Regulators, future maintainers, and end users often are not in the room. Someone must proxy them, and the AD should say who. - **Quality properties cut across views.** Security or performance are not one view; they surface in several. That is exactly why Rozanski & Woods add *perspectives*, and why the 2022 revision of the standard introduces the analogous notion of *architecture aspects*. - **Consistency debt.** Multiple views drift. Correspondence rules plus recording *known* inconsistencies (rather than pretending there are none) is the standard's honest answer. - **Concerns change.** Concerns are elicited at a point in time; re-elicit at major milestones or the AD ossifies into a view set nobody reads.

  • Your architecture description contains a concern that no viewpoint frames. What does ISO/IEC 42010 say you should do?
    That is a conformance failure and, more importantly, a real gap: the concern is unaddressed and undocumented. You either add or adopt a viewpoint that frames it (possibly a cross-cutting perspective/aspect rather than a whole new view), fold it into an existing view, or explicitly record it as an accepted risk with rationale. The reverse check matters too: a viewpoint framing no concern is documentation waste and should be dropped.
  • Can two different views share the same model?
    Yes. The standard allows an architecture model to be part of more than one view, which is common — for example a single component-to-node table can serve both a functional and a deployment view. That is also why correspondences are defined between models and elements, not only between whole views.
  • How does ISO/IEC 42010 relate to Kruchten's 4+1 or the SEI Views and Beyond approach?
    Those are concrete viewpoint libraries; 42010 is the meta-model they can be expressed in. 42010 deliberately mandates no particular set of views — it mandates that whatever views you produce are justified by identified stakeholders and concerns, and that viewpoints are defined well enough to be reused.

A viewpoint is the kind of architectural drawing — "electrical plan", "plumbing plan", "elevation" — with its own symbol legend and conventions, defined once for all buildings. A view is the actual electrical plan of your house. The electrician (stakeholder) has the concern "can I safely wire this?", which is why the electrical plan gets drawn at all; nobody draws it for fun.

saying these in an interview costs you the question

  • Using "viewpoint" and "view" interchangeably, or saying "we need a deployment viewpoint for our system" when they mean a deployment view.
  • Claiming ISO/IEC 42010 prescribes a fixed set of views (it prescribes none).
  • Treating stakeholders as "the customer and the dev team" only, omitting operators, auditors/regulators, testers, support, and future maintainers.
  • Believing a concern is the same thing as a requirement — concerns are broader interests (cost, staffing, compliance, evolvability) that requirements may or may not capture.
  • Producing a full view set by habit and then justifying it backwards, instead of deriving views from elicited concerns.
  • Claiming the architecture and the architecture description are the same thing.

context

open as a page

How do you identify a system's stakeholders and elicit their concerns, and how should those concerns determine which architecture views you actually produce?

level: middleimportance: must knowfreq 40%

basics

~20 s

List stakeholder classes (users, operators, developers, testers, support, acquirers, auditors), interview or workshop each to capture what worries them, turn vague wishes into measurable scenarios, then produce only the views that answer a real, prioritized concern — and skip the rest.

open as a page

In the Rozanski & Woods approach to describing software architecture, what is the difference between a viewpoint and a perspective, and why did they add perspectives on top of viewpoints?

level: middleimportance: must knowfreq 45%

basics

~20 s

A viewpoint gives you one structural slice of the system (functional, information, deployment...). A perspective is a quality property such as security or performance that cuts across many of those slices, so you apply it to several views rather than drawing a separate "security view".

open as a page

You are documenting a mid-size system and want a "minimum yet sufficient" architecture description. How do you decide how many views to produce, at what depth, and in what notation for each audience?

level: seniorimportance: should knowfreq 30%

basics

~20 s

Derive views from prioritized stakeholder concerns rather than from a template: one view per live, high-priority concern cluster. Go deep only where risk is high, keep the notation simple enough for the intended reader, and delete anything nobody would act on.

open as a page

Two stakeholder groups raise concerns that pull the architecture in opposite directions — for example a compliance officer demanding full encryption and immutable audit of every transaction, and a trading desk demanding sub-millisecond latency. How do you resolve that, and what do you record?

level: principalimportance: should knowfreq 35%

basics

~20 s

Do not average the two. Make both concerns measurable, separate hard constraints (law, safety) from negotiable targets, scope the design so each need is met where it applies, let the accountable sponsor rank what remains, then record the decision, the rejected option, and the residual risk.

open as a page

An architecture description contains several views produced from different viewpoints. ISO/IEC 42010 asks you to record "correspondences", "correspondence rules", and architecture rationale. What are these, and what problem do they solve?

level: principalimportance: nice to knowfreq 15%

basics

~20 s

Correspondences are recorded relationships between elements in different views; correspondence rules are constraints those relationships must satisfy. Together they stop multi-view descriptions from silently contradicting each other. Rationale records why decisions were made, including rejected alternatives.

open as a page