Problem Identification and User Research
Focus on identifying real-world problems and gathering authentic feedback from potential users to inform design.
About This Topic
Problem identification and user research anchor user-centered software design in collaborative development. Students start by analyzing community problems, such as inefficient school bus scheduling or barriers to recycling apps, to define core challenges and map stakeholders including end-users, teachers, and administrators. They then create tools like surveys, interviews, and observation protocols to collect authentic feedback that shapes initial software requirements.
This topic supports Ontario's Grade 10 Computer Science standards on design processes by linking real-world needs to coding solutions. Students build empathy, critical thinking, and communication skills essential for agile teams. They see how early research reduces rework later, mirroring professional practices in software engineering.
Active learning excels with this content because students apply methods immediately on classmates or local issues. Conducting peer interviews or prototyping surveys generates real data for group analysis, turning theory into practice. These experiences build confidence and highlight the value of iteration, making the process engaging and relevant.
Key Questions
- Analyze a community problem to identify its core challenges and stakeholders.
- Design methods for gathering user requirements and feedback.
- Explain how user research informs the initial stages of software development.
Learning Objectives
- Analyze a community problem to identify its core challenges and key stakeholders.
- Design methods for gathering user requirements and feedback through surveys and interviews.
- Explain how user research findings directly inform the initial stages of software development.
- Evaluate the effectiveness of different user research techniques for a given problem scenario.
Before You Start
Why: Students need a basic understanding of what software is and what it can do before they can identify problems it might solve.
Why: This topic builds on the ability to break down complex issues into smaller, manageable parts, a skill developed in general problem-solving units.
Key Vocabulary
| Stakeholder | An individual, group, or organization that has an interest in or is affected by a project or software. This includes end-users, developers, and administrators. |
| User Requirements | The specific needs and expectations that end-users have for a piece of software. These are gathered through research and directly influence design. |
| User Research | The systematic investigation of users and their needs, behaviors, and contexts. This research informs the design and development of products and services. |
| Empathy Mapping | A collaborative visualization used to articulate what a user knows, thinks, feels, and does in relation to a product or service. It helps teams understand user perspectives. |
Watch Out for These Misconceptions
Common MisconceptionDevelopers already understand user needs without research.
What to Teach Instead
User needs often surprise developers; diverse perspectives emerge only through direct input. Peer role-plays let students experience mismatched assumptions, while group debriefs reinforce the need for evidence-based design.
Common MisconceptionUser feedback consists only of complaints or obvious fixes.
What to Teach Instead
Valuable insights include unmet desires and workflow details. Analyzing real survey data in small groups helps students categorize feedback and spot patterns, shifting views toward constructive research.
Common MisconceptionProblem identification means picking any issue without stakeholder input.
What to Teach Instead
True problems involve multiple affected parties. Mapping exercises with peers reveal overlooked stakeholders, building skills to validate issues collaboratively.
Active Learning Ideas
See all activitiesPairs: Empathy Interview Practice
Pairs role-play: one student acts as a user facing a problem like accessing online homework, the other as researcher with 5 prepared questions. Switch roles after 10 minutes, then share key insights with the class. Focus on open-ended questions to uncover needs.
Small Groups: Problem Tree Analysis
Groups select a community issue, draw a tree with roots as causes, trunk as core problem, and branches as effects. Brainstorm stakeholders at each level. Present trees and discuss research methods needed to verify elements.
Whole Class: Survey Design Challenge
Class brainstorms a software idea, then collaboratively designs a 10-question survey using Google Forms. Pilot the survey on the group, analyze responses in real time, and refine based on feedback.
Individual: Stakeholder Persona Creation
Students research a problem online, create 2-3 user personas with demographics, needs, and pain points. Share in a gallery walk for peer feedback on research depth.
Real-World Connections
- UX (User Experience) researchers at Google conduct interviews and usability tests with diverse groups of people to improve the design of products like Google Maps and Android.
- Non-profit organizations like Code for Canada use problem identification and user research to develop technology solutions for civic challenges, such as improving access to public services.
- Software development teams at Shopify use feedback from small business owners to refine e-commerce tools, ensuring they meet the practical needs of merchants.
Assessment Ideas
Provide students with a brief description of a common school problem (e.g., lost textbooks, inefficient club sign-ups). Ask them to list three potential stakeholders and one question they would ask each stakeholder to understand the problem better.
Present a scenario where a software team rushed into development without user research and encountered major issues. Ask students: 'What specific problems might this team have faced, and how could initial user research have prevented them?'
Give small groups a hypothetical software project idea (e.g., a study group finder app). Ask each group to outline two specific user research methods they would use and explain why those methods are appropriate for gathering initial requirements.
Frequently Asked Questions
How does problem identification fit Ontario Grade 10 CS curriculum?
What user research methods work best for Grade 10 students?
How can active learning help students grasp user research?
Why prioritize user research in early software stages?
More in Collaborative Software Development
Requirements Gathering and Specification
Learn to translate user needs and problem statements into clear, actionable software requirements.
2 methodologies
Prototyping and Iterative Design
Learn to create low-fidelity and high-fidelity prototypes and apply iterative design principles.
2 methodologies
Introduction to Version Control (Git)
Learn to manage a group project using iterative cycles and collaborative tools, specifically focusing on Git.
2 methodologies
Agile Methodologies and Team Roles
Understand agile principles and common team roles in a software development project.
2 methodologies
Project Planning and Task Management
Develop skills in breaking down projects into manageable tasks, assigning responsibilities, and tracking progress.
2 methodologies
Testing and Quality Assurance
Implement testing strategies to ensure the quality, reliability, and functionality of software.
2 methodologies