Requirements Engineering for moderne Software-Teams
Most agile teams do requirements work informally - spread across Slack threads, refinement meetings, and Jira comments. This course teaches you to recognize the difference between a requirement and an idea, write acceptance criteria that survive a sprint planning session, and handle non-functional requirements before they become release problems. Built around a fictional SaaS product with real team conflicts.
Milica
Solo
Perfect for individual learners.
or $29 / month
Save $99 with annual - 3.5 months free
- Start learning with
- Access to all current courses
- Hands-on exercises with real-time feedback
- Free updates and access to new courses
- Progress tracking per lesson
Team
For teams learning together.
or $99 per month
Save $446 vs. 5 solo annual licenses
- Everything in Solo +
- Up to 5 team members
- Shared team experience
- Progress overview for all members
Why Clarity Comes Before Speed
Most teams diagnose their project problems as communication failures. This module shows why that diagnosis is usually wrong - and how a requirements decision made in Sprint 1 becomes a rework bill in Sprint 8. No prior knowledge of requirements engineering needed.
What Is a Requirement, Actually?
Most backlogs contain three fundamentally different kinds of things — requirements, wishes, and solution ideas - treated as if they were the same. This module gives you the sorting skill that has to come before any prioritization can work.
Product Vision - Before the First Requirement Is Written
Before the first requirement can be written, there's a prior question that has to be answered: what is this product actually for - and does the whole team agree? This module teaches you to make a product vision explicit and shared using Roman Pichler's Product Vision Board, and to use the completed board as a decision filter when incoming feature requests arrive.
Discovery - Asking the Right Questions
After this module, learners can decide who to interview for a concrete software product, which questions to ask, and how to translate what they hear into formulated user needs that can be directly converted into requirements. The module covers stakeholder mapping, behavioral interview techniques, and the translation from raw stakeholder interview material into actionable user needs.
Problem Space and Solution Space
Most teams jump to solutions before they've properly named the problem. This module shows you how to recognize that tendency, apply a two-column analysis that separates user needs from solution options, and decide which statements from your discovery output are ready to become requirements - and which ones aren't yet. But the deeper insight is the counterintuitive one: separation isn't the end goal. Drawing on the Twin Peaks model and continuous discovery research, you'll learn why problem space and solution space must iterate together - and how to make that iteration deliberate rather than accidental.
Structuring Requirements - From Discovery Output to Backlog
You have a Discovery output - interview notes, a categorized idea pool, analysis from Module 04. This module turns that raw material into a structured Story Map: an activity-based backbone that describes what users do, sprint-ready stories that survive planning, and a release boundary that delivers a complete user journey rather than a complete Epic. The judgment this module builds is knowing when a map is structurally wrong before it poisons the backlog - and when a correct map still isn't ready for a sprint.
Acceptance Criteria - The Language of Verifiability
Acceptance criteria are where requirements get tested - or fail. This module teaches you to write ACs that survive sprint planning: how to tell too vague from over-specified, when Given-When-Then adds genuine value and when it's overhead, and how to find the edge cases your imagination skips before a developer does.
