← Back to course
2/6
Week 01 · Design Before Code

Tuesday

Ask before you build
// Investigate, plan and storyboard Beacon
⏱ about 20 min

Tuesday: Ask Before You Build

The crew sets up three folding chairs in the greenhouse. Lena keeps the plants, Tomas studies them, and Priya works at mission control.

Comet opens with her idea. "Beacon will water everything automatically!"

Lena shakes her head kindly. "I like watering by hand. I just need to know which row is dry."

Tomas adds, "I want a photo of the beans every morning so I can track their growth."

Priya speaks over the relay. "And I only want messages when something needs attention."

Wren writes fast on his clipboard. "What do you notice? Nobody asked for the same thing."

Nova hovers over the notes. "Interesting. Those answers are the start of your requirements."

Investigate first

Developers investigate to find out what users need. Talking with users is an important part of developing a computing innovation.

Investigation can use surveys, user testing, interviews and direct observation.

An interview asks questions out loud. A survey asks many people the same written questions.

Direct observation means watching people do the task. User testing means watching people try a version of the program.

What the crew didWay of investigating
Asked Lena, Tomas and Priya questions face to faceInterview
Gave all twelve outpost workers the same three written questionsSurvey
Watched Lena check every row by hand for an hourDirect observation
Will hand Lena a paper sketch of Beacon and watch her use itUser testing
NAME THE INVESTIGATION
  • Read the question.
  • Tap your answer.
Wren watches Lena carry a watering can down each row and takes notes.
Comet hands Tomas a paper sketch of Beacon and watches where he gets stuck.
The crew slips the same five written questions under every cabin door.
Nova asks Priya questions over the relay and records her answers.

Requirements and the specification

Program requirements describe how a program functions. They may include the user interactions the program must provide.

A program's specification defines its requirements. It is the written plan the whole team agrees to.

Each requirement comes from what users said, did or needed during the investigation.

RequirementWhere it came from
R1: Beacon shows the water level of every row.Lena wants to know which row is dry.
R2: Beacon never waters plants by itself.Lena likes watering by hand.
R3: Beacon sends one photo of the beans each morning.Tomas tracks their growth.
R4: Beacon messages mission control only when a plant needs attention.Priya wants fewer messages.

Inputs, outputs and events

Program inputs are data sent to a computer for processing by a program. Inputs can be tactile, audio, visual or text.

Program outputs are any data a program sends to a device.

An event, such as a key press, a click or a program starting, can change what a program does next.

INPUT OR OUTPUT FOR BEACON?
  • Read the question.
  • Tap your answer.
A water sensor sends the number 22 to Beacon.
Beacon shows the words "Row 3 needs water" on Lena's screen.
Lena taps the Refresh button on Beacon's screen. What is the tap?
A description of how a program must function is its ____.
The document that defines the requirements is the ____.
Watching people do a task is direct ____.
StatementTrue or false?
Developers should talk with users before building.?
Every user in the story wanted exactly the same thing.?
R2 came from what Lena said in her interview.?
A message on a screen is an input.?
WHY THIS EXERCISEInvestigation keeps a team from building something nobody asked for.
FROM A USER'S WORDS TO A REQUIREMENT
  • ?Write down what the user needs.
  • ?Add the requirement to the specification.
  • ?Choose a way to investigate, such as an interview.
  • ?Turn each need into a requirement.
  • ?Ask the user questions about the task.
WHY THIS EXERCISEEvery requirement should trace back to something users said, did or needed.
On paper, draw Beacon as a box. Draw arrows in for two inputs and arrows out for two outputs, and label each one.

Great listening. Tomorrow in Beacon Lab you storyboard Beacon's three screens.

← Monday