Defining User Needs and RequirementsActivities & Teaching Strategies
Active learning works because defining user needs requires students to practice real-world thinking, not just memorize definitions. Students engage with the messy, human side of requirements through role-play and discussion, which builds empathy and skill in gathering accurate information from users.
Learning Objectives
- 1Analyze user feedback to identify specific pain points and desired functionalities for a software application.
- 2Differentiate clearly between functional requirements (what the software does) and non-functional requirements (how well it does it).
- 3Construct a comprehensive set of user requirements, including both functional and non-functional aspects, for a given software concept.
- 4Evaluate the effectiveness of a software solution against its defined user needs and requirements.
Want a complete lesson plan with these objectives? Generate a Mission →
Pairs Role-Play: User Interviews
Students pair up: one acts as a target user for a study app, the other as designer asking 10 prepared questions on needs and frustrations. Switch roles after 10 minutes, then each drafts a shared list of key insights. Discuss as a class how questions shaped responses.
Prepare & details
Analyze how understanding user needs leads to more effective software solutions.
Facilitation Tip: During the User Interviews role-play, circulate and coach pairs to use open-ended questions like 'Can you tell me more about that?' to uncover deeper needs.
Setup: Groups at tables with access to source materials
Materials: Source material collection, Inquiry cycle worksheet, Question generation protocol, Findings presentation template
Small Groups: Persona Creation Workshop
Groups survey five classmates on app preferences, then create visual personas with demographics, goals, and pain points. Combine into a class gallery for peer feedback. Translate top personas into initial functional requirements.
Prepare & details
Differentiate between functional and non-functional requirements.
Facilitation Tip: In the Persona Creation Workshop, remind groups to include both demographic details and specific pain points to make their personas feel real.
Setup: Groups at tables with access to source materials
Materials: Source material collection, Inquiry cycle worksheet, Question generation protocol, Findings presentation template
Whole Class: Requirements Sorting Game
Project mixed requirements statements on the board. Class votes and sorts them into functional or non-functional categories, justifying choices. Reveal correct sorts and refine as a group.
Prepare & details
Construct a set of requirements for a simple software application based on user feedback.
Facilitation Tip: For the Requirements Sorting Game, prepare a mix of clear and borderline examples so students debate edge cases like 'data encryption' under non-functional categories.
Setup: Groups at tables with access to source materials
Materials: Source material collection, Inquiry cycle worksheet, Question generation protocol, Findings presentation template
Individual: Feedback to Specs Challenge
Provide sample user feedback quotes. Students individually list three functional and two non-functional requirements. Share and vote on clearest examples.
Prepare & details
Analyze how understanding user needs leads to more effective software solutions.
Facilitation Tip: During the Feedback to Specs Challenge, require students to justify each requirement with a specific piece of user feedback to strengthen their rationale.
Setup: Groups at tables with access to source materials
Materials: Source material collection, Inquiry cycle worksheet, Question generation protocol, Findings presentation template
Teaching This Topic
Teaching this topic effectively means focusing on the process of uncovering needs, not just the product. Students often struggle to see that requirements emerge from questions, not assumptions. Use low-stakes practice activities to build confidence in interviewing and feedback skills before expecting polished specifications. Research in design thinking shows that iteration and perspective-taking are critical, so emphasize these through repeated cycles of questioning and revision.
What to Expect
Students will demonstrate understanding by clearly distinguishing between functional and non-functional requirements in their own work. They will show growth in asking targeted questions to uncover true user needs, not just stated wishes.
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 Requirements Sorting Game, watch for students who mislabel all requirements as functional, assuming everything relates to features.
What to Teach Instead
Use the game’s borderline examples to prompt discussion: ask students to explain why 'data encryption' or '5-second load time' belong in non-functional categories, and have peers challenge mislabeled slips.
Common MisconceptionDuring the User Interviews role-play, watch for students who accept vague user statements like 'I want it to be easy' without probing for specific pain points.
What to Teach Instead
Coach students to follow up with questions like 'What makes it difficult now?' or 'What would make it feel effortless?' during the role-play, modeling how to push past surface responses.
Common MisconceptionDuring the Persona Creation Workshop, watch for students who create generic profiles without tying needs to specific scenarios or frustrations.
What to Teach Instead
Require groups to include at least one 'day in the life' anecdote in their persona and a 'problem statement' that captures the user’s core struggle, using the workshop template as a guide.
Assessment Ideas
After the Requirements Sorting Game, collect the sorted slips and review them for accuracy, focusing on how students categorized borderline examples like 'automatic logouts' or 'dark mode'.
During the Feedback to Specs Challenge, collect students’ revised requirements and assess whether each one links directly to a piece of user feedback, checking for clarity and specificity.
After the Persona Creation Workshop, have students swap personas with another group and use a checklist to evaluate whether the persona includes goals, pain points, and realistic constraints before giving feedback.
Extensions & Scaffolding
- Challenge: Ask students to interview a real user outside class, then refine their requirements based on the new insights.
- Scaffolding: Provide sentence starters for functional requirements (e.g., 'The system must allow users to...') and non-functional examples to sort.
- Deeper exploration: Have students compare requirements for the same software idea across different user personas to analyze how needs shift with perspective.
Key Vocabulary
| User Needs | The specific problems, goals, or desires that a target user has, which a software solution aims to address. |
| Functional Requirements | Statements that describe what the software system must do, detailing specific features, tasks, or operations it should perform. |
| Non-Functional Requirements | Statements that describe how the software system should perform, focusing on qualities like performance, security, usability, and reliability. |
| Target User | The specific individual or group of people for whom a software product is designed and intended to be used. |
| Requirements Documentation | A formal document that records all identified user needs and the resulting functional and non-functional requirements for a software project. |
Suggested Methodologies
More in The Software Studio
Design Thinking Methodology
Students will be introduced to the Design Thinking framework (Empathize, Define, Ideate, Prototype, Test) as a human-centered approach to innovation.
3 methodologies
Project Planning and Brainstorming
Students will learn techniques for brainstorming ideas, defining project scope, and creating initial plans for their software development projects.
3 methodologies
Collaborative Project Roles and Responsibilities
Students will explore different roles within a project team and understand the importance of clear responsibilities, communication, and teamwork for successful project delivery.
3 methodologies
Collaborative Coding Practices
Students will learn and apply simple strategies for collaborative coding, such as sharing code, giving constructive feedback, and managing changes in a shared project.
3 methodologies
Code Review and Pair Programming
Students will practice code review techniques and pair programming to improve code quality, share knowledge, and reduce errors in team projects.
3 methodologies
Ready to teach Defining User Needs and Requirements?
Generate a full mission with everything you need
Generate a Mission