Lesson 45 of 45 beginner

Agile, Scrum and Technical Documentation

Work in short cycles, say what done means, and write down decisions with their reasons

Guess first

Pick an answer. You will see if you were right at the end of the lesson.

What is the best use of the daily meeting for a developer?

Open interactive version (quiz + challenge)

Real-world analogy

A family plans a long trip in short legs. Each morning they pick a stop for the evening and agree what counts as arrived. A glovebox note says why they chose the coast road, so the next driver does not undo it by mistake. The legs are sprints, "arrived" is the Definition of Done, and the glovebox note is the decision record.

What is it?

Scrum is a way of working in short cycles called sprints. A team takes work from an ordered backlog and meets briefly each day. At the end it shows the result, then looks at how to work better. Alongside it, good developers write down what future readers need. That means a README to run the project, a short spec before a large change, and API docs from OpenAPI. It also means Architecture Decision Records that capture why a choice was made. The reason is the valuable part, because code shows what you did, not why.

Real-world relevance

A new developer joins and finds that orders use optimistic concurrency. Without a record, they see the extra column and the 409 responses, think it is clutter, and remove it. Two months later support staff overwrite each other's edits. A one-page decision record would have explained the choice and the options rejected. In sprint terms, the same developer who raises a blocker on day one saves the team a missed goal.

Key points

Quick check

Answer from memory — scrolling up first makes it stick less.

What is an estimate best understood as?

What makes an Architecture Decision Record useful six months later?

Code example

# ADR 007: Use optimistic concurrency for order updates

Status: Accepted (2026-11-11)

## Context
Support staff and the customer can edit the same order at the same time.
With last write wins, one edit is lost without any warning.
Conflicts are rare, and an edit takes a few seconds.

## Decision
Add a RowVersion column to the Orders table. EF Core includes it in the
UPDATE condition. On a conflict the API returns 409 and the client
reloads the order.

## Alternatives considered
- Pessimistic locks: rejected. A lock held while a person types blocks
  others, and it stays stuck if the browser closes.
- Last write wins: rejected. It loses edits without telling anyone.

## Consequences
- Good: no locks, so reads and writes stay fast.
- Bad: the client needs a screen that asks the user to reload on 409.
- Bad: tests must cover the conflict path.
- Revisit this if conflicts become frequent.

Line-by-line walkthrough

  1. 1. This is a Markdown file, one page. The title has a number and states the decision as a short sentence.
  2. 2. Status says whether the decision is proposed, accepted or replaced, and when.
  3. 3. Context describes the situation and the problem, with facts about how often conflicts happen.
  4. 4. Decision says what we will do, in plain words, in the present tense.
  5. 5. Alternatives considered lists the other options and the reason each was rejected. This is the part most records miss.
  6. 6. Consequences lists the good and the bad results, and says when to revisit the decision.

Spot the bug

# ADR 008: Use Redis for caching

Status: Accepted

## Decision
We will use Redis.

## Consequences
We need to run a Redis server.
Need a hint?
Imagine reading this in a year. What question would you still have?
Show answer
The record states the decision but not the reason or the alternatives. A future reader cannot tell what problem Redis solved, or why in-memory caching was rejected. So they may reverse it. Fix: add Context (the problem) and Alternatives considered (what was rejected and why).

Explain like I'm 5

When you make a big drawing with friends, you do a little each day. You agree what finished looks like, and write a note saying why you chose blue for the sky. Then nobody paints over it by mistake later.

Fun fact

The Scrum Guide is under 15 pages long. It defines the accountabilities, events and artifacts, and leaves the detailed techniques to each team.

Hands-on challenge

Say it out loud in 30 seconds: "What do you document on a project, and why?" Then check: did you mention a README that gets a new developer running, a decision record with context, decision, alternatives and consequences, a short spec before a big change, API docs from OpenAPI, and writing for a reader six months from now?

More resources

Open interactive version (quiz + challenge) Download the whole course as PDF / Word

Lock it in

← Back to course: .NET + React Playbook