Week 4: Requirements
Goal
The goal of this session is to help students practice capturing what the customer really wants and turning it into clear, specific, and actionable requirements instead of vague or meaningless ones.
Expected Results until this Week
We will discuss expected results during the class on this week. So please make sure to be prepared! More about penalty and bonus points- Prepare to present the deliverable team founding and project selection details.
Title | Duration |
---|---|
Deliverable: Team and Project Kick-Off | 30 minutes |
Kick Off with Domain Expert | 50 minutes |
1: Deliverable: Team and Project Kick-Off (30 minutes)
- Each team introduces themselves (name, role, background). See related task for more details.
- Each team presents their chosen project idea to the class. See related task for more details.
Presentation Technical Requirements
- Each team has no more than 5 minutes to present the whole deliverable to the class.
- Use the created GitLab group and project to share information: List of Members, README.md, team_rules.md, etc.
- Slides are not required for this session.
2: Kick Off with Domain Expert (50 minutes)
Background
- Do’s and Avoids in Capturing Requirements
- Features, Requirements, Use Cases, User Stories
- https://cpre.ireb.org/en
Activities
Interview the ChatGPT as a domain expert to brainstorm about the project domain.
The tutor will be there to help if needed.
- Open the ChatGPT link in a new tab.
- Copy one of the personas from your project idea.
- Paste the persona into the chat input and press enter.
- Explain your project idea to the new persona (ChatGPT).
- Ask questions about ...
- ... the domain: what are they doing?
- ... their workflows: how do they do it?
- ... their pain points: what are the problems they face?
- ... their goals: what do they want to achieve?
- ... their expectations: what do they expect from a solution?
- ... clarification or confirmation questions about their answers?
- Take notes of the answers.
- Extract requirements from the answers.
- Save the requirements in your project as GitLab issues. Label them with
requirement
oridea
.
Grouping the Requirements
Your team already has a list of requirement ideas in GitLab (as issues). Now you will group them by adding labels. This helps to see structure and makes later work easier. You decide which way of grouping makes the most sense — just be consistent. Here are some options to guide you. The tutor will be there to help if needed.
By Type
Type::Functional
– What the system should do.
Example: “User can upload a file.”Type::Quality
– How well it should work.
Example: “System responds within 2 seconds.”Type::Constraint
– Rules or limits.
Example: “Must run on Windows.”
By Theme / Feature Area
Area::Login
– Authentication, user accounts.Area::Data
– Storage, processing, formats.Area::UI
– Layout, navigation, visuals.Area::Reports
– Output, summaries, exports.
By Stakeholder View
Stakeholder::Customer
– Business/client needs.Stakeholder::User
– Everyday user needs.Stakeholder::Technical
– Developer/tech-side needs.
Each label should have a distinct color so it’s easy to spot. Teams don’t need to use all labels right away — just pick the sets that make sense for their requirements.