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

Preview

Requirements and acceptance criteria

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

45 minutes

The club wants more

Hillside Sports Club has a booking tool. Now it has a new problem.

"Our courts are full on Saturdays. People want a waiting list. If somebody cancels, the next person should get the court. Also, we do not know if members are happy. Can members give a rating after they play?"

This is the practice scenario for the specialism project. It is our own invention.

Key words

WordWhat it meansExample
RequirementSomething the solution must do or be.Show the waiting list
Functional requirementWhat the solution does.Join a waiting list
Non-functional requirementHow well the solution works, such as speed or safety.Books in under 30 seconds
Acceptance criteriaClear checks that show a requirement is done.When a booking is cancelled, the first person waiting gets the court
KPIKey performance indicator: a number that shows if the project is a success.Double bookings: 0
ConstraintA limit you must keep to.Python 3.10, 4 weeks
SlotOne court at one hour.court 1 at 10:00
ScopeWhat is in the project and what is not.No online payment

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

Five questions find the functional requirements

AskClub example
What goes in? (inputs)Member name, court, hour
What data is needed?The bookings and the waiting list
What happens to the data? (processing)Add a name. Remove a name. Count the place in the line.
What are the rules? (logic means rules)The first person waiting gets a cancelled court. Nobody waits twice for one slot.
Where will it run? (the platform is the device)On a phone and on the desk computer

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

Acceptance criteria: when is it done?

"The waiting list works" is not clear. Who decides? Acceptance criteria are clear checks. Anyone can run them and get the same answer.

A good pattern: "When this happens, then that happens." Use numbers and names so the check can be repeated.

From a requirement to checks

RequirementAcceptance criteria (When ..., then ...)
A member can join the waiting listWhen a member joins for a full slot, then they are told their place in the line, for example 1.
A member is not added twiceWhen the same member joins the same slot again, then the tool says they are already waiting.
A cancelled court goes to the next personWhen a booking is cancelled and one person is waiting, then that person gets the booking.
The tool is quickWhen a member makes a booking, then it takes under 30 seconds.

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

Quick check: is it measurable?

Have a go

Quick check: is it measurable?

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.

Try it: a criterion as a check

Code: python
waiting = []


def join(waiting, name):
    waiting.append(name)
    return len(waiting)   # the place in the line


# Criterion: the first member to join is told "place 1".
place = join(waiting, "Sam")
print("Place:", place)
print("Criterion met:", place == 1)

# Add a second member. What place should they get?

KPIs for the club

KPIHow it is measuredTarget
Double bookingsCount in the booking file each month0
Courts empty after a cancellationCount of cancelled slots with nobody bookedFewer than 2 a week
Average member ratingTotal of ratings divided by the number of ratingsAt least 4 out of 5

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

The lesson goes on

6 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.