AR3: Decisions and risks: ADRs, weighted scoring, risk registers and fitness functions

Lesson 1 of 5 · reading 15–25 minutes; practice and project time is on the module page

Architecture decision records

🎯You'll be able to

Write an architecture decision record (ADR) with its status, context, options, decision and consequences, and keep an index of them.

🏠The everyday picture

A family keeps a note of why they chose the school they did: the fees, the distance, the teachers. Years later, when a younger child starts, the note saves them from repeating the whole search, or shows what has changed since.

📘What it really is

📝A worked example

Input: the RasoiRoute starter's draft, "Everyone is moving to microservices… This will make everything faster and more reliable."

Steps:

  1. No status or date: add "Proposed, 2026-10-01".
  2. No context: add the figures from data/ (14 engineers, 1.5 deploys a week, 42.3% of incidents in notifications).
  3. One option only: add the alternatives (AR2 Lesson 5).
  4. Only benefits: add Negative consequences, such as more to run and new failure modes.

Expected output: a draft that a colleague could disagree with on specific points, rather than a slogan.

🌍Where it's used

📝Case scenario

A payments team chose to store amounts as whole paise rather than decimals, after a rounding bug. Three years later a new engineer proposed decimals "for readability". The ADR explained the bug and the choice in half a page, and the discussion took ten minutes instead of repeating the mistake.

🖱️Try it

Write a one-page ADR for a decision you've made in any project (a framework, a hosting choice). Include at least one negative consequence. Success: a reader who wasn't there understands why.

⚠️Common mistakes

🛠️For your project

Project 1's tests 1 and 8 check the ADR's sections, status and date, and the index in docs/adr/README.md.

✅Quick check

What happens to an accepted ADR when the decision changes?

Show the answer

It isn't edited; a new ADR supersedes it, and its status says "Superseded by" the new one.

Why include negative consequences?

Show the answer

Every decision costs something, and future readers need to know what was accepted knowingly.

← BackAR3
ProLearners Assist