Clarifying questions
Ask the questions whose answers change the design: functional scope, non-functional targets and the shape of the load, such as follower distribution, then state your assumptions.
20 min6 steps
By the end you can
- Prioritise the clarifying questions whose answers change the design
- Separate functional from non-functional requirements and state assumptions explicitly
- Ask about the distribution of load, not just its average, and show how a skewed answer changes the design
Questions that change the design
Changes nothing
- Button colour?
Changes the design
- Do links expire?
- Storage, cleanup job
Functional and non-functional
Functional: what
- Create a short link
- Redirect
- Click counts
Non-functional: how well
- p99 redirect under 50 ms
- 99.99% available
- Links never lost
Ask for the distribution, not just the average
Average author
a few hundred
fan-out on write looks easy
Ask next
how distributed?
the tail breaks it
Loading question…
The celebrity problem
Loading question…
When the answer is 'you decide'
1
State an assumption with a number
2
Say why
3
Say what changes if wrong
Check your mastery
Before drawing
requirements checklist
Score 80% or more. Practise in interview mode.
Mastery check
4 questions on fresh variants. One attempt each, no time limit. Score 80% or more to master the lesson.
Answer this step to continue.