Skip to content
Computer Science · Grade 11 · The Impact of Computing on Society · Term 4

Capstone Software Development: Agile Development and Scoping

Learn to manage a project using sprints, user stories, and iterative feedback loops.

Ontario Curriculum ExpectationsCS.HS.D.4CS.HS.D.1

About This Topic

Agile development teaches Grade 11 students to manage capstone software projects through sprints, user stories, and iterative feedback loops. They define a Minimum Viable Product (MVP) by prioritizing core features for complex ideas, scope work realistically, and adapt plans based on testing. This method contrasts with the waterfall model, offering flexibility to handle changes common in real-world coding.

In Ontario's Computer Science curriculum, Unit 5 on The Impact of Computing on Society, this topic meets standards CS.HS.D.4 and CS.HS.D.1. Students explore benefits like early issue detection, user-centered design, and efficient team collaboration. Assigning roles such as product owner, scrum master, or coder maximizes strengths, building skills for professional teams.

Active learning excels for this topic. Students gain practical insight by simulating sprints, drafting user stories in groups, and iterating prototypes with peer feedback. These experiences clarify abstract concepts, highlight scoping challenges, and foster teamwork essential for capstone success.

Key Questions

  1. How do we define a Minimum Viable Product (MVP) for a complex idea?
  2. What are the benefits of iterative development over the traditional waterfall model?
  3. How can team roles be assigned to maximize individual strengths in a coding project?

Learning Objectives

  • Analyze the core principles of Agile development by comparing its iterative process to the sequential Waterfall model.
  • Create a Minimum Viable Product (MVP) definition for a given software concept, prioritizing essential features.
  • Evaluate the effectiveness of different team role assignments (e.g., Product Owner, Scrum Master) in a simulated Agile project.
  • Synthesize user feedback into actionable revisions for a software prototype during an iterative development cycle.

Before You Start

Introduction to Software Development Concepts

Why: Students need a basic understanding of what software development entails before learning project management methodologies.

Problem Solving and Computational Thinking

Why: Agile development requires breaking down complex problems into smaller, manageable parts, a skill honed through computational thinking.

Key Vocabulary

SprintA short, time-boxed period, typically 1-4 weeks, during which a Scrum team works to complete a set amount of work.
User StoryA short, simple description of a feature told from the perspective of the person who desires the new capability, usually a user or customer.
Minimum Viable Product (MVP)The version of a new product which allows a team to collect the maximum amount of validated learning about customers with the least effort.
Iterative DevelopmentA method of building software by developing it in successive cycles, allowing for feedback and adjustments throughout the process.
Scrum MasterA facilitator role in Scrum who ensures the team adheres to Agile principles and practices, removing impediments.

Watch Out for These Misconceptions

Common MisconceptionAgile development has no planning or structure.

What to Teach Instead

Agile uses detailed backlogs, sprint planning, and daily stand-ups for structure. Group simulations of sprint planning reveal this organization, helping students replace chaos assumptions with evidence of disciplined processes.

Common MisconceptionWaterfall model works better for all school projects.

What to Teach Instead

Waterfall struggles with changes, while Agile adapts quickly. Comparative role-plays let students experience delays in waterfall scenarios, building preference for iteration through direct comparison.

Common MisconceptionAn MVP is just a rushed, incomplete product.

What to Teach Instead

MVP focuses on core value to test assumptions early. Prototyping activities show students how MVPs validate ideas efficiently, shifting views from inadequacy to strategic minimalism.

Active Learning Ideas

See all activities

Real-World Connections

  • Software development teams at companies like Google and Microsoft use Agile methodologies to build and update products such as Android and Windows, releasing new features in regular sprints.
  • Video game studios, including Ubisoft and Electronic Arts, employ Agile practices to manage the complex development cycles of games like Assassin's Creed or FIFA, incorporating player feedback from beta tests.
  • Startups developing new mobile applications often adopt Agile to quickly build and test an MVP, gathering user data to pivot their product strategy based on market reception.

Assessment Ideas

Quick Check

Present students with a scenario: 'A team is building a new task management app.' Ask them to write one user story for the app and identify one feature that would NOT be part of the initial MVP. Collect responses to gauge understanding of user stories and MVP scoping.

Discussion Prompt

Facilitate a class discussion using the prompt: 'Imagine your team is halfway through a sprint and discovers a major technical issue that will delay a key feature. How would an Agile approach help your team address this challenge differently than a Waterfall approach?'

Peer Assessment

Students work in small groups to define an MVP for a hypothetical app. After drafting their MVP features, groups swap their lists with another group. Peer reviewers provide feedback on the clarity of the MVP definition and suggest one additional feature that could be considered essential, or one that could be deferred.

Frequently Asked Questions

How do you define a Minimum Viable Product for a complex software idea?
An MVP includes only essential features that deliver core user value and test key assumptions. Students break ideas into user stories, prioritize with MoSCoW method (must-have, should-have), and scope to fit one sprint. This prevents overload in capstone projects and allows quick validation through prototypes and feedback.
What are the benefits of iterative development over the waterfall model?
Iterative Agile detects issues early, incorporates feedback, and adapts to changes, unlike waterfall's rigid sequence that risks late failures. Students see faster delivery and higher quality in simulations. For society-impacting projects, it ensures software meets evolving user needs, aligning with curriculum standards on computing impacts.
How can team roles be assigned to maximize strengths in coding projects?
Use skills surveys to identify strengths, then map to Agile roles: analytical thinkers as scrum masters, creative coders as developers, detail-oriented as testers. Rotate roles for exposure. This boosts productivity, reduces conflicts, and mirrors industry practices, preparing students for collaborative work.
How can active learning help students understand Agile development?
Active approaches like sprint simulations and prototype iterations make methodologies tangible. Students experience feedback loops firsthand in groups, correcting misconceptions through trial and error. Collaborative planning builds ownership, while debriefs connect activities to real benefits, deepening retention for capstone application.