Year 8 · Summer 2
Raid: App Forge · Lesson 1 of 5
Writing a design brief from user needs
TheoryTopic 14 Programming furtherTopic 11 Algorithms
Year 8 · Raid: App Forge · Lesson 1 of 5
You will learn to
- Explain what a design brief is, and why it comes before any code.
- Use open interview questions to find out a partner's real problem.
- Write a brief with a user, a problem, three features and a success list.
- Identify which features the app must have and which can wait.
Year 8 · Raid: App Forge · Lesson 1 of 5
Success criteria
You have got it when you can say:
- I can ask open questions and write down what my partner says.
- I can write a brief that names one user and one problem.
- I can write a success list where every line can be checked with yes or no.
Year 8 · Raid: App Forge · Lesson 1 of 5
Retrieval starter
Questions from before. Write your answers, then show them.
- Last unit
Bubble sort compares…
A The first and last itemsB Random pairsC Neighbours
C. Neighbours
- Last unit
A linear search on 50 unsorted items, looking for something that is not there, makes…
A 1 checkB 25 checksC 50 checks
C. 50 checks
- Earlier this year
The web and the internet are…
A The web is a service that runs on the internetB The same thingC The internet runs on the web
A. The web is a service that runs on the internet
Year 8 · Raid: App Forge · Lesson 1 of 5
Key words (1 of 4)
- List
- One name holding many values in order. Also called an array.
- Index
- An item's position in a list, counting from 0.
- Subroutine
- A named block of code you can call when needed.
- Function
- A subroutine that returns a value.
Year 8 · Raid: App Forge · Lesson 1 of 5
Key words (2 of 4)
- Parameter
- A placeholder in a subroutine for a value passed in.
- Validation
- Checking input is reasonable before using it.
- Boundary data
- Test data at the very edge of what's allowed.
- Algorithm
- Precise, ordered, finite steps to solve a problem.
Year 8 · Raid: App Forge · Lesson 1 of 5
Key words (3 of 4)
- Decomposition
- Breaking a problem into smaller ones.
- Abstraction
- Ignoring detail that doesn't matter for the problem.
- Sequence · selection · iteration
- Steps one after another. First this, then this.
- Pseudocode
- Code-like writing for algorithms, without strict rules.
Year 8 · Raid: App Forge · Lesson 1 of 5
Key words (4 of 4)
- Trace table
- Records variable values step by step to check logic.
- Variable
- A named place in memory that holds a value.
The explanation · step 1 of 4 · part 1 of 2
Start with the user, not the app
A user is the person who will use your app.
A design brief is a short plan. It says who the app is for, what problem it solves and what it must do.
Write the brief before any code. It stops you building something nobody needs.
'I want to make a cool app' is an idea. 'New Year 7 pupils keep forgetting which room their lesson is in' is a problem. Start with the problem.
The explanation · step 1 of 4 · part 2 of 2
Start with the user, not the app (continued)
Why not just start building?
Changing a plan takes a minute. Changing a finished app can take days.
The explanation · step 2 of 4 · part 1 of 2
Interview your user
An interview is a short chat. You ask questions and write down the answers.
| Question type | What it is | Example |
|---|---|---|
| Open | Needs a full answer | 'Tell me about the last time you lost your timetable.' |
| Closed | Needs only yes or no | 'Do you lose your timetable?' |
- Ask mostly open questions.
- Ask about what really happened, not what they might want.
- Write down their words, not yours.
- Do not pitch your app idea yet. Just listen.
The explanation · step 2 of 4 · part 2 of 2
Interview your user (continued)
Start with 'Tell me about the last time…'. Real stories show the real problem.
The explanation · step 3 of 4 · part 1 of 2
Write the brief
| Part | The question it answers | Example: the timetable app |
|---|---|---|
| User | Who is it for? | Year 7 pupils who are new to the school |
| Problem | What goes wrong for them now? | They forget which room each lesson is in, so they arrive late |
| Features | What will the app do? Three things at most. | Show today's lessons and rooms. Choose another day. Show a PE kit reminder. |
| Success list | How will we know it works? | See the list below |
The success list says what 'finished' looks like. Each line can be checked: yes or no.
The explanation · step 3 of 4 · part 2 of 2
Write the brief (continued)
- A pupil can see today's lessons in under 10 seconds.
- Each lesson shows its room.
- The pupil can change the day.
- Three Year 7 testers find their next room without help.
Three features is plenty. A small app that works beats a big app that does not.
The explanation · step 4 of 4 · part 1 of 2
Must have or nice to have
You will have more ideas than time. Sort every idea into two groups.
- Must have: the app is useless without it.
- Nice to have: build it only if there is time left.
Timetable app. Must have: show the lessons and rooms. Nice to have: a dark mode, sounds, a map of the school.
The explanation · step 4 of 4 · part 2 of 2
Must have or nice to have (continued)
Build every must-have first. Only then start a nice-to-have.
Year 8 · Raid: App Forge · Lesson 1 of 5
Worked example (1 of 2)
Your partner says: 'I always forget my homework. I write it in my planner, then I never look at it.' Turn this into a brief.
- User: a Year 8 pupil who writes homework in a planner but forgets to check it.
- Problem: the homework is written down but missed, because nothing reminds them.
- Features: add a homework task; see all tasks in a list; tick a task off when it is done.
- Success list: adding a task takes under 30 seconds. A tester can add and tick off a task without help.
Year 8 · Raid: App Forge · Lesson 1 of 5
Worked example (2 of 2)
Your partner says: 'I always forget my homework. I write it in my planner, then I never look at it.' Turn this into a brief.
- Nice to have: a reminder the day before. Build it only if there is time.
Year 8 · Raid: App Forge · Lesson 1 of 5
Quick quiz · 1 of 3
In ["a", "b", "c"], the index of "c" is…
- A c
- B 2
- C 3
B. 2
Counting starts at 0: a = 0, b = 1, c = 2.
Year 8 · Raid: App Forge · Lesson 1 of 5
Quick quiz · 2 of 3
word = "Python". What is word[1:4]?
- A "ytho"
- B "Pyth"
- C "yth"
C. "yth"
Start at index 1 (y), stop before index 4 (o): y, t, h. That's 4 − 1 = 3 characters.
Year 8 · Raid: App Forge · Lesson 1 of 5
Quick quiz · 3 of 3
In def area(w, h): … and a = area(4, 3), which are the arguments?
- A w and h
- B 4 and 3
- C area and a
B. 4 and 3
Arguments are the actual values passed in the call. w and h are parameters.
Year 8 · Raid: App Forge · Lesson 1 of 5
Exit ticket
Answer on paper before you go. Then check.
A variable made inside a function is…
A Global: usable anywhereB Saved to a fileC Local: only exists inside it while it runs
C. Local: only exists inside it while it runs Local variables are wiped when the function returns.
Testing a 0–50 range with 50 is…
A Erroneous dataB Normal dataC Boundary data
C. Boundary data It's right at the edge of what's allowed.