Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Preview

Read a brief like a developer

This is the first page of the lesson. Read it and have a go at the activities. The rest is in the full lesson.

40 minutes

An email from a client

You get this email from the manager of a sports club:

"Hello. Two people often book the same court at the same time. We call this a double booking. Members get angry. We need a simple tool for the desk staff. Members pay 4 pounds an hour and visitors pay 6. We have 2 badminton courts, open 9 in the morning to 9 at night. Can you help?"

What is the real problem? Who is it for? What do you still not know?

Key words

WordWhat it meansExample
BriefThe client's description of what they want.the email above
RequirementSomething the solution must do.Refuse a double booking
UserA person who uses the solution.desk staff
ConstraintA limit you must keep to.finish by Friday
AssumptionSomething you decide is true because nobody told you.A booking is 1 hour
ScopeWhat is inside the project and what is not.No online payment
Success measureA check that shows a requirement is met.A booking takes under 2 minutes

The cells students fill in are left blank in this preview.

Four boxes for every brief

Read the brief three times. Each time, look for one thing.

Read 1: the problem. Read 2: the users. Read 3: the needs and the limits. A limit is also called a constraint.

Put each answer in its own box. Then you can see what is missing.

The four boxes, filled in

BoxQuestionAnswer for the sports club (Hillside)
ProblemWhat is going wrong?Two people get the same court at the same time
UsersWho will use the tool?Desk staff. Maybe members later
NeedsWhat must it do?Book a court, refuse a double booking, show the price
LimitsWhat must the tool keep to?2 courts, open 9 to 9, simple to use

The cells students fill in are left blank in this preview.

Quick check: which box?

Have a go

Quick check: which box?

4 questions
Have a go: your answers are marked here and then forgotten. Sign in if you would like your score kept, and to pick up where you left off.Sign in to keep your score

Your answers are marked here and are not kept. A college account keeps every student’s marks.

The email did not say everything

data-callouts.warning.label

How long is a booking? Can people book a week ahead? Does the tool take money? The email does not say. Do not keep a guess in your head. Write each guess down as an assumption. The reader can then see your thinking.

Try it: a requirements list in code

Code: python
needs = {
    "book a court": "must",
    "refuse a double booking": "must",
    "show the price": "must",
    "cancel a booking": "should",
    "send a text message": "could",
}

for name in needs:
    print(name, "->", needs[name])

musts = 0
for name in needs:
    if needs[name] == "must":
        musts = musts + 1
print("Must have:", musts)

# Add one more need and run it again.

Must, should, could

You cannot always do everything. So put each need in a group.

Must: the tool does not work without it. Should: it is important, but the tool still works without it. Could: a good extra, if there is time.

Always do the musts first.

The lesson goes on

5 more parts of this lesson are in the full curriculum, with the tasks, the final check and the labs. A college account gives your students all of it.