Every lesson from module A1 on begins with a table: the requirements sheet. It says what Nordlicht Reisen GmbH, a fictional travel agency, needs in this area, and it is the yardstick by which your recommendation is measured. This lesson fixes two things that the whole course uses: the company's starting point and the template of the sheet. Nothing is decided here yet.

Prior knowledge. You know Nordlicht Reisen from AZ-900 and AZ-104; there it is the same invented group of travel agencies. How to make a quality goal verifiable as a scenario is taught in "K4, lesson 4.1.2", and how cost becomes a feature of an architecture in "K4, lesson 4.1.5". That is not repeated here; the lesson shows how this course puts these things on one sheet.

The starting point of Nordlicht Reisen

Nordlicht Reisen GmbH is an invented group of travel agencies in northern Germany. It doesn't exist, and all numbers are assumptions of the task: They are made up so that a decision is possible, and they were never measured. In an exam, the description of the task stands in their place; on the job, a measurement stands there. This course marks every number it names as an assumption.

No. Starting point Number
G-01 The group has 25 travel agencies. about 220 employees (assumption of the task)
G-02 The customer portal (web and app) with the booking system is a .NET application. no number
G-03 The booking data sits in a SQL Server database in the company's own data center in Hamburg. about 1 TB (assumption of the task)
G-04 Windows servers with an on-premises Active Directory run the offices. no number
G-05 A partner interface serves hotels and airlines as external users. about 400 external users (assumption of the task)
G-06 A file store holds contracts and photos. about 40 TB (assumption of the task)
G-07 Payments run only through a payment service provider; card data is not stored. no number
G-08 The General Data Protection Regulation (GDPR) requires: Data stays in the EU. The primary region is germanywestcentral. see below
G-09 In the summer booking wave and on campaign days, the load rises sharply. about ten times the normal load (assumption of the task)
G-10 Sales wants daily reports from bookings and web telemetry. daily

For G-08, the course checked Microsoft Learn: According to the region list, the region germanywestcentral is in Frankfurt and has three availability zones. The list names Germany North (Berlin) as its paired region; Microsoft marks it as a region whose access is restricted for certain cases and must be requested. Which second region Nordlicht Reisen uses is therefore not settled; module A3 decides that.

These ten rows hold in every lesson. Every lesson adds the requirements of its area to them, with new, invented numbers, always marked as assumptions. Rows G-01 to G-10 never change; where a lesson needs a number that is missing here, it introduces a new row and calls it an assumption.

The template: the requirements sheet

The sheet is a Markdown file with six sections. You can copy it like this:

markdown
# Requirements sheet: area

## 1 Purpose

One or two sentences: What is to be achieved, and for whom?

## 2 Starting point

References to G-01 to G-10 and to new rows of this area.

## 3 Requirements

| No. | Requirement | Type | Measure | Weight | Source |
| --- | --- | --- | --- | --- | --- |
| 1.1-01 | … | F, Q, R or K | number, unit, condition; assumption or measured value | Must, Should or Could | who demands it |

## 4 Constraints

What is given and cannot be negotiated.

## 5 Ranking and cost frame

What applies when two requirements collide? Which cost drivers count? No amount.

## 6 Open questions

What you don't know. Every line names who could clarify it.

The columns have fixed meanings:

  • No. consists of the lesson number and a running number, such as 1.1-03. The number stays even if a row is dropped, so that ADRs can point to it.
  • Type is one of four: F (functional: what the system does), Q (quality: how well it does it), R (constraint: what is given) and K (cost).
  • Measure has the form number, unit, condition, plus the marker assumption or measured value. "Response time under 2 seconds with 1,000 concurrent users (assumption)" is a measure, "fast" is not.
  • Weight is Must, Should or Could. A Must decides first; without meeting it, an option is out.
  • Source names who makes the requirement: the business unit, a law, a contract, the management or the assumption of the task.

Collecting requirements

How do requirements get onto the sheet? In the exam they are in the text of the task, often hidden in a subordinate clause. On the job you have to ask for them. A framework for this comes from the pillars of the Well-Architected Framework from lesson 0.1: For every pillar, ask whether the area demands something.

Pillar Question for the area
Reliability How long may the area be down, and how much data loss is bearable?
Security Who may see what? Which data is personal?
Cost Optimization Which ranking applies when it gets more expensive?
Operational Excellence Who runs it, and how is an error noticed?
Performance Efficiency Which load, which response time, which peaks?

The four types help with sorting. Functional requirements (F) describe what the system does: "Partners upload room allotments." Quality requirements (Q) describe how well: "Uploading takes at most one minute." Constraints (R) are given: laws, contracts, existing systems. Costs (K) are not amounts but rankings and drivers (see below). A requirement that you can't assign to a type is usually a solution ("we'll take service X") and doesn't belong on the requirements side.

Making measurable and weighting

A requirement is measurable if somebody can check it after the build. Three questions help: Which quantity? In which unit? Under which condition? "The portal is fast" becomes "The home page answers 95 of 100 requests in under two seconds, even at ten times the load of the summer wave (assumption)". Whether that is a sensible value is for the specialist to decide; this course needs only that there is one value on which an option can fail.

For the weight, a simple rule applies: Must means an option is out without meeting it. Should means the option should meet the requirement and a gap must be justified. Could means the requirement decides in a tie. Few requirements are truly a Must; a sheet on which everything is a Must decides nothing.

Ranking and cost frame

Tradeoffs belong on the sheet, not in your head. Section 5 records which requirement wins when two collide. For Nordlicht Reisen, unless a lesson says otherwise, this ranking of the starting point applies (assumption of the task):

  1. Constraints from law and contract (data protection, data in the EU),
  2. booking stays available even at the load peak,
  3. cost,
  4. convenience for operations.

A cost frame, as this course keeps it, names no amount. It names the cost drivers (per hour, per gigabyte, per instance, per request) and the ranking: "Costs fall before operating convenience, not before availability." The amounts are on the service's pricing page and in the Azure pricing calculator.

Typical mistakes

  • Noting a solution as a requirement. "We need Azure Cosmos DB" is not a requirement. Check: Can the sentence be formulated without a service name?
  • Everything is a Must. Then there is no tradeoff, and the sheet decides nothing. Check: Which requirement could drop out without the project failing?
  • A number without a marker. Whoever writes "1 TB" without "assumption" claims a measurement. Check: Does every number have a marker?
  • The cost frame as an amount. An amount goes stale. Check: Does the cost frame contain a ranking, and are the cost drivers listed with it?
  • Missing source. Without a source, nobody knows whom to ask. Check: Does every row say who makes it?

Exercise 1

The management of Nordlicht Reisen wants a new online booking form for group trips. These sentences come up in a conversation. All numbers are assumptions of the task.

Requirements sheet (excerpt, starting point G-01 to G-10 applies)

Source Sentence
Sales "The form shouldn't buckle in the summer wave."
Sales "In the morning, yesterday's bookings should be ready for analysis."
Data protection "Data of group travelers stays in the EU, and nobody should see more than they need."
Partner support "Hotels should be able to use the form without a new account."
Management "It shouldn't cost more than the existing form in the data center."
Operations "When it hiccups, operations should notice before customers call."

Task. Write sections 3 (requirements) and 5 (ranking and cost frame) of the requirements sheet for the form. Invent the missing numbers, mark them as assumptions and assign weights. In section 6, write what you don't know.

How to check your result:

  • Every row has No., type, measure (with assumption or measured value), weight and source.
  • No row names a service or an amount.
  • There is at least one requirement of each type F, Q, R and K.
  • At most half of the rows are a Must.
  • For at least three numbers or assumptions, section 6 names who could confirm them.

Solution 1

An example; other numbers and weights are right if their reasons carry the sentences.

markdown
## 3 Requirements

| No. | Requirement | Type | Measure | Weight | Source |
| --- | --- | --- | --- | --- | --- |
| 0.2-01 | The form accepts bookings from group travelers. | F | all required fields of the form; assumption | Must | Management |
| 0.2-02 | The form stays usable in the summer wave. | Q | 95 of 100 requests in under 3 seconds at ten times the normal load (G-09); assumption | Must | Sales |
| 0.2-03 | The bookings of the previous day are analyzed in the morning. | F | daily by 7:00 a.m. (G-10); assumption | Should | Sales |
| 0.2-04 | Personal data stays in the EU (G-08). | R | no processing outside the EU | Must | Data protection |
| 0.2-05 | Every role sees only the data it needs. | Q | three roles: office, partner, sales; assumption | Must | Data protection |
| 0.2-06 | Hotels use the form without a new account. | F | sign-in with the account of their own organization (G-05) | Should | Partner support |
| 0.2-07 | Disruptions are noticed before the first call. | Q | alert within 5 minutes of the start; assumption | Should | Operations |
| 0.2-08 | Costs are not above those of the existing form. | K | comparison of the cost drivers; amount not named in the requirements sheet | Could | Management |

## 5 Ranking and cost frame

The ranking of the starting point applies: law and contract (0.2-04, 0.2-05) before availability at the load peak (0.2-02), that
before cost (0.2-08). Cost drivers: per hour, per instance, per gigabyte, per request. No amount.

## 6 Open questions

- Which response time does Sales consider sufficient? (Sales confirms 0.2-02)
- Does the hotels' account belong to their own organization, or should private accounts be allowed? (Partner support, 0.2-06)
- What counts as the "existing form" for the cost comparison? (Management, 0.2-08)

Two observations. 0.2-08 is a Could, because "cost no more" without a ranking doesn't win against law and availability. And 0.2-06 is a Should, because the question about the accounts is open.

Exercise 2

A sheet is usable only once its tradeoffs are named. The requirements sheet of exercise 1 has four conflicts:

Requirements sheet (excerpt)

Conflict Side A Side B
X-1 0.2-02: usable at the load peak (Must) 0.2-08: not more expensive than the existing one (Could)
X-2 0.2-06: hotels without a new account (Should) 0.2-05: every role sees only what is necessary (Must)
X-3 0.2-03: daily analysis by 7:00 a.m. (Should) 0.2-02: usable at the load peak (Must)
X-4 0.2-04: data in the EU (Must) 0.2-07: disruptions noticed quickly (Should)

Task. For each conflict: Which side wins by weight and ranking? Which pillar of the Well-Architected Framework pays? Which follow-up question would you ask before you decide? Write the answers into sections 5 and 6 of the sheet.

How to check your result:

  • For every conflict there is a winning side with a reference to weight or ranking.
  • For every conflict the pillar that loses or pays is named.
  • No answer names a service.
  • Where the weights are equal, it says that the ranking is not enough, and a follow-up question.

Solution 2

An example.

Conflict Wins Paying pillar Follow-up question
X-1 A: Must before Could, availability before cost Cost Optimization "What additional cost is bearable for the peak if the comparison with the existing one is dropped?"
X-2 B: Must before Should, law before convenience Operational Excellence (more effort at sign-in) "Is there a sign-in for the hotels that uses their account and still separates roles?"
X-3 A: Must before Should Operational Excellence (later analysis) "Is 9:00 a.m. instead of 7:00 a.m. acceptable if the portal's load doesn't suffer as a result?"
X-4 A: Must before Should, law before operating convenience Operational Excellence (monitoring only in the EU) "May monitoring store data outside the EU if it has no personal data?"

Section 5 of the sheet says: "X-1: Availability wins. X-2 to X-4: Law and Must win." Section 6 holds the four follow-up questions. None of the answers chooses a service; the lessons of modules A1 to A6 do that.

What you can do now

You read the starting point G-01 to G-10 of Nordlicht Reisen and tell an assumption of the task from a measured value. You assign requirements to the types F, Q, R and K, make them measurable and weight them with Must, Should and Could. You fill in the six sections of the requirements sheet, record tradeoffs and a ranking and keep the cost frame without an amount. Every lesson of modules A1 to A6 begins with this template.

Further reading

  • Architect's fundamentals (Well-Architected Framework): https://learn.microsoft.com/azure/well-architected/architect-role/fundamentals
  • Architect's checklist: https://learn.microsoft.com/azure/well-architected/architect-role/checklist
  • About the Well-Architected Framework pillars: https://learn.microsoft.com/azure/well-architected/pillars
  • Azure regions list: https://learn.microsoft.com/azure/reliability/regions-list
  • Azure region pairs and nonpaired regions: https://learn.microsoft.com/azure/reliability/regions-paired
  • Study guide for Exam AZ-305: https://learn.microsoft.com/credentials/certifications/resources/study-guides/az-305