Introduction to Software EngineeringActivities & Teaching Strategies
Active learning works for this topic because software engineering methodologies like Agile and Waterfall are abstract concepts until students experience their real-world constraints. By simulating project workflows through hands-on activities, students quickly grasp why structure matters in flexible environments and how rigid plans can either create stability or become barriers.
Learning Objectives
- 1Compare and contrast the Waterfall and Agile software development methodologies, identifying key differences in their phases and iterative nature.
- 2Analyze the impact of specific software engineering principles, such as requirements gathering and testing, on project success and product quality.
- 3Evaluate the suitability of Waterfall and Agile methodologies for different types of software projects, justifying choices based on project scope and client needs.
- 4Design a basic project plan for a small software application, selecting either Waterfall or Agile and outlining the initial steps according to the chosen methodology.
Want a complete lesson plan with these objectives? Generate a Mission →
Simulation Game: The Paper Plane Factory
One group uses 'Waterfall' (design all planes, then build all, then test all). Another uses 'Agile' (build one, test it, improve the design, repeat). They compare which group produces more 'flight-ready' planes in 10 minutes.
Prepare & details
Explain why software engineering principles are essential for developing complex software systems.
Facilitation Tip: During the Paper Plane Factory simulation, circulate and ask groups to point to the phase they are currently in on their Kanban board to reinforce the idea of discrete stages in Waterfall.
Setup: Flexible space for group stations
Materials: Role cards with goals/resources, Game currency or tokens, Round tracker
Role Play: The Client Meeting
Students act as developers and a 'difficult' client. Halfway through a project, the client changes a major requirement. Groups must show how they would handle this change using Agile vs. Waterfall logic.
Prepare & details
Differentiate between coding and software engineering as disciplines.
Facilitation Tip: In the Client Meeting role play, intentionally provide one team with a requirement change midway to observe how they adapt their Agile backlog.
Setup: Open space or rearranged desks for scenario staging
Materials: Character cards with backstory and goals, Scenario briefing sheet
Gallery Walk: Kanban Boards
Students set up 'To-Do, Doing, Done' boards for a hypothetical project. They move tasks across the board and explain how this visual tool helps an Agile team stay on track.
Prepare & details
Analyze the potential consequences of not following a structured software development process.
Facilitation Tip: For the Kanban Gallery Walk, give students sticky notes to add their own ideas for improving workflows after they examine each board.
Setup: Wall space or tables arranged around room perimeter
Materials: Large paper/poster boards, Markers, Sticky notes for feedback
Teaching This Topic
Teach this topic by starting with a concrete anchor: compare planning a school dance (Waterfall) with planning a weekly snack sale (Agile). Avoid overwhelming students with jargon by framing Waterfall as 'plan first, build second' and Agile as 'plan small, build often'. Research shows that students retain these concepts better when they physically simulate the processes, so prioritize movement and materials over lectures.
What to Expect
Successful learning looks like students articulating the differences between Agile and Waterfall not just in terms, but in action. They should explain when each methodology works best, justify their choices with project examples, and reflect on how planning and feedback cycles shape outcomes in their simulations and role plays.
These activities are a starting point. A full mission is the experience.
- Complete facilitation script with teacher dialogue
- Printable student materials, ready for class
- Differentiation strategies for every learner
Watch Out for These Misconceptions
Common MisconceptionDuring the Paper Plane Factory simulation, watch for students assuming Agile means 'no planning'. Redirect them by asking how their daily sprint goals were set the night before.
What to Teach Instead
Use the simulation’s sprint planning worksheet to show students that Agile requires frequent, detailed planning—just in smaller increments than Waterfall.
Common MisconceptionDuring the Client Meeting role play, watch for students labeling Waterfall as 'outdated' and Agile as 'always better'. Redirect them by asking which methodology would suit a project with strict safety regulations.
What to Teach Instead
After the role play, have students compare their experiences to case studies of industries like aerospace or healthcare where Waterfall’s stability is critical.
Assessment Ideas
After the Paper Plane Factory simulation, provide students with a scenario describing a software project and ask them to identify the methodology, Agile or Waterfall, that fits best. Have them justify their choice in two sentences referencing the simulation’s outcomes.
During the Client Meeting role play, pose the question: 'How would this requirement change be handled in a Waterfall project versus an Agile project?' Use student responses to assess their understanding of feedback loops and change management.
During the Kanban Gallery Walk, present students with a list of project characteristics and ask them to categorize each as more aligned with Waterfall or Agile principles. Collect their responses on sticky notes to identify misconceptions.
Extensions & Scaffolding
- Challenge: Ask early finishers to design a hybrid Agile-Waterfall plan for a project with both stable and evolving requirements.
- Scaffolding: Provide sentence starters for students struggling to explain their methodology choices, such as 'We chose Waterfall because...' or 'Our Agile sprint focused on...'.
- Deeper exploration: Have students research a real-world software project and present how its methodology matched or mismatched its outcome.
Key Vocabulary
| Software Development Lifecycle (SDLC) | A framework that outlines the stages involved in creating and maintaining software, from initial planning to deployment and retirement. |
| Waterfall Model | A linear, sequential approach to software development where each phase, such as requirements, design, implementation, verification, and maintenance, must be completed before the next begins. |
| Agile Methodology | An iterative and incremental approach to software development that emphasizes flexibility, collaboration, customer feedback, and rapid delivery of working software. |
| Sprint | A short, time-boxed period, typically 1-4 weeks, during which a specific set of work is completed and made ready for review in an Agile development process. |
| Requirements Engineering | The process of defining, documenting, and maintaining requirements for a software system, ensuring that the final product meets user needs and business objectives. |
Suggested Methodologies
More in Software Engineering Principles
Requirements Engineering
Understanding how to gather, analyze, and document user and system requirements for a software project.
2 methodologies
Agile Methodologies
Comparing traditional linear development models with modern iterative approaches.
2 methodologies
Waterfall and Hybrid Models
Exploring the traditional Waterfall model and hybrid approaches, identifying their strengths and weaknesses.
2 methodologies
Software Design Principles
Learning about design patterns, modularity, cohesion, and coupling for creating maintainable and scalable code.
2 methodologies
Quality Assurance and Testing
Implementing unit tests, integration tests, and debugging strategies to ensure robust code.
2 methodologies
Ready to teach Introduction to Software Engineering?
Generate a full mission with everything you need
Generate a Mission