← QCE Digital Solutions Unit 3

Agile development: iterations and sprints

Building a solution in short repeating cycles (sprints), releasing working parts and adapting to user feedback and changing requirements.

Understanding Agile development: iterations and sprints in QCE Digital Solutions Unit 3

What it does: Each sprint ends with a working part being shown to users, which creates the frequent feedback loop that Agile relies on. Instead of following a fixed plan, the team updates the backlog after feedback, showing how Agile responds to change. Agile expects requirements to change and adapts to them. Locked requirements are typical of waterfall. A user story describes a need from the user's point of view: who, what and why. It does not describe the technical steps. User stories capture requirements in plain language from the user's perspective, and teams pick them to work on in each sprint. Building a solution in short repeating cycles (sprints), releasing working parts and adapting to user feedback and changing requirements.

Common mistakes: pop is a method, so it must be called with round brackets: backlog.pop(0). Square brackets are for indexing. The loop takes one user story from the sprint backlog at a time. A for loop header must end with a colon. It should be for sprint in range(3): so each sprint repeats the indented block.

Class: _____________________  ·  Name: _____________________  ·  Date: _________

Free printable worksheet with full answer key — or add this module to a class and your students practise it interactively.

This module's key terms are also in a printable crossword (Modules 15–119) and word search (Modules 15–176).

Take this worksheet further — free with Cloodit

Each concept is reinforced from every angle — learned, then applied, then tested.

Learning
Duo
Which describes Agile development?
Building a solution in short repeating cycles, releasing working parts each timeFinishing every stage once, in order, and releasing the whole solution at the very end
Matches
Sprint 1: plan, design, build, test and release the whole app with no user feedback until the end
↓
This describes a single long sequential build like Waterfall, not Agile. Agile sprints deliver small working parts and gather feedback after every sprint.
Applying
Meanings
Term
Agile development
Meaning
Building a solution in short repeating cycles (sprints), releasing working parts and adapting to user feedback and changing requirements.
Practice
WHILE backlog is not empty
Testing
Gaps
for story in :
Check Answer
Spots
3while len(backlog) > 0:
4 story = backlog.pop[0]

Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.

The 'Giant Isopod' badge — Patient Builder, one of Cloodit's 106 collectible badges
Students earn collectable badges

Over 100 of them, across seven natural biomes.

Study Buddy
Students build a real study resource

Turns their work into revision material ready for Flash Cards and Exam study.

Diamond Dash — one of Cloodit's live, competitive Sprint games
Students lock in with Sprints

Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.

A Cloodit certificate of achievement, ready to personalise and print
Custom printable certificates

Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.

Quick Questions

1. Which describes Agile development?
A. Building a solution in short repeating cycles, releasing working parts each time ✓
B. Finishing every stage once, in order, and releasing the whole solution at the very end
Agile works in short cycles and releases working parts. Finishing each stage once in order is waterfall.
2. In Agile, what is a sprint?
A. A short, fixed time period in which the team builds a small working part of the solution ✓
B. A final testing phase that happens once after the whole solution is built
A sprint is a short, fixed cycle (often 1 to 4 weeks) that produces a working increment.
3. A client changes a requirement halfway through the project. How does an Agile team respond?
A. Refuse the change because the requirements were locked at the start
B. Adapt the plan and include the change in an upcoming sprint ✓
Agile expects requirements to change and adapts to them. Locked requirements are typical of waterfall.
4. Which is a user story?
A. As a student, I want to see my timetable so that I know where to go ✓
B. Create a table called timetable with five fields
A user story describes a need from the user's point of view: who, what and why. It does not describe the technical steps.
5. When does an Agile team gather user feedback?
A. Only once, when the finished product is delivered
B. Frequently, at the end of each sprint, using a working part of the solution ✓
Frequent feedback lets the team improve the next sprint. Waiting until the end risks building the wrong thing.

Match the Pairs

Sprint → A short, fixed-length cycle (often 1-4 weeks) in which a team builds and delivers a small working part of the solution
As a student, I want to reset my password so that I can log back in. → A user story: a short requirement written from the user's point of view that describes what they need and why
Agile teams release a small working part at the end of each cycle, so users can try it and give feedback early → Sprint 1: build login screen -> demo to users -> collect feedback
Agile adapts to changing requirements: feedback from one sprint changes what is planned for the next sprint → Feedback: 'buttons too small' -> add 'enlarge buttons' to Sprint 2 backlog
Sprint 1: plan, design, build, test and release the whole app with no user feedback until the end → This describes a single long sequential build like Waterfall, not Agile. Agile sprints deliver small working parts and gather feedback after every sprint.
Requirements are locked in Sprint 1 and cannot change, even if users ask for something different → Agile welcomes changing requirements. The backlog is updated after feedback, so later sprints can include new or changed user stories.

Key Term

Agile development
Building a solution in short repeating cycles (sprints), releasing working parts and adapting to user feedback and changing requirements.

Fill in the Blanks

1. backlog = ["login", "search", "pay"] for story in backlog: print("Build", story)
Hint: Type the name of the variable that holds the list of user stories to loop through.
2. sprint = 1 while sprint <= 4: print("Release", sprint) sprint += 1
Hint: Type the keyword that repeats the cycle again and again while a condition is true.
3. feedback = input("Any changes? ") if feedback == "yes": print("Update the backlog")
Hint: Type the operator that checks whether the user's feedback is equal to the given text.
4. backlog = ["login", "cart"] backlog.append("search") print(len(backlog))
Hint: Type the list method that adds a new requirement to the end of the backlog.
5. def run_sprint(story): print("Releasing", story) run_sprint("login")
Hint: Type the keyword used to define a reusable function for one sprint.

Spot the Error

Question 1
A backlog = ["login", "search"]
B sprint = 1
C while len(backlog) > 0:
D story = backlog.pop[0]
E print("Built", story)
Line D — pop is a method, so it must be called with round brackets: backlog.pop(0). Square brackets are for indexing. The loop takes one user story from the sprint backlog at a time.
Question 2
A features = 0
B for sprint in range(3)
C features += 2
D print(features)
Line B — A for loop header must end with a colon. It should be for sprint in range(3): so each sprint repeats the indented block.
Question 3
A story = {}
B story["role"] == "student"
C story["want"] = "see my timetable"
D print(story)
Line B — == compares values and does not store anything. To save the user's role in the user story dictionary you need the assignment operator =.
Question 4
A feedback = "Make button bigger"
B backlog = []
C if feedback = "":
D backlog.append(feedback)
Line C — An if condition needs a comparison, not an assignment. It should be if feedback != "": so user feedback is only added to the backlog when it exists.
Question 5
A sprint days = 10
B day = 1
C while day <= sprint_days:
D day = day + 1
Line A — Variable names cannot contain spaces. Use an underscore: sprint_days = 10, which stores the length of the sprint.

Student with a class code? Join your class →