2. Lab: User Research & Flutter Basics
Estimated time to read: 7 minutes
In this lab, you will gain insights into your users, refine your project idea, and get hands-on with Flutter.
- Tasks marked with
are individual assignments.
- Tasks labeled
are team-based.
- Remember, each team member must contribute to the
tasks in every lab.
- You will receive feedback for all
tasks three days after the lab, and we will review this feedback at the beginning of Lab 3—another opportunity for refinement!
2.1 Preparation
The goal is to have everything in this chapter ready as an alpha version of your project. 1
2.1.1 Flutter: Dart, Architecture, and First Contact
- Complete the Flutter Codelab by reading through the material and coding along as needed. This will give you an overview of how Flutter differs from other programming environments you may be familiar with.
Read and understand the Flutter basics up to and including section 13.4.2.
- If this material feels too difficult or moves too quickly, or if you’ve just managed to complete Programming 2, feel free to start with my Flutter course for absolute beginners.
Create a simple app with two screens (we will walk through it together during the lecture):
- The first screen should display a greeting message, an image, and a button.
- When the button is clicked, the app should navigate to the second screen.
- On the second screen, include a text input field and a button.
- When the button is clicked, the app should perform an action based on the input.
- Ensure that your app runs in your browser.
- Be ready to demonstrate the working app during the lab.
2.1.2 Prepare for User Research and Interviews
Read and understand the chapters on User Research and Requirement Engineering.
Plan, document, and begin your user research using the provided template file: docs/2-UserResearch.md
.
2.1.3 For the lab, you need to prepare
A description of the problem you aim to address
Criteria and assumptions about your users
Hypotheses about user needs or behaviors
A list of interview questions
2.2 During the Lab
- We will review your questions together.
- You will present your first flutter apps.
- You will conduct a pilot interview with one participant.
- Based on the pilot interview
- Revise your interview guide as needed.
- Write the first version of your project vision.
- Create the initial version of your persona.
- Develop a first scenario.
- Assign tasks and to-dos for the team.
2.3 After the Lab
Document the following in your portfolio (use docs/2-UserResearch.md
):
Criteria and assumptions about your users.
Description of your stakeholders and target audience.
Hypotheses about user needs or behaviors.
Final version of your interview guide.
Two real user interviews, including key findings (not full transcriptions).
Discuss shortly two additional user research methods. Which of these two methods would be beneficial for the project, alongside the semi-structured interview you conducted, and why?
One persona for each user role.
One scenario.
Your project vision in the README of your repository.
A brief reflection on what went well, what felt like a waste of time, and what surprised you
Remember, it’s not just about completing the tasks, but also providing thoughtful reasoning. Explain your decisions, derive your MVP, and ensure your interview questions are aligned with your hypotheses and user criteria. Reference the relevant theory to support your process, see Project Portfolio.
2.3.1 Project Management
Create issues for your MVP using the provided issue templates. Focus on the core features that deliver value, and avoid including trivial features like login. If necessary, implement simple workarounds to ensure the key features are functional and deliver benefits. Ensure that at least one delighter feature and your unique selling proposition are well addressed. When creating issues, frame them from the perspective of your persona. Keep issues small and achievable—ideally, (see INVEST), they should be completed within a single day.
Define milestones for your labs and make sure, you add new issues to the corresponding milestones.
Define labels like delighter etc. based on the Kano model and use them in your feature issues.
Add an estimation to each new issue and track your time.
-
Software release life cycle. 2024. URL: https://en.wikipedia.org/w/index.php?title=Software_release_life_cycle&oldid=1204460796 (visited on 15.02.2024). ↩