Beginner Topic 2 of 50 Software Engineering
Requirements Gathering
Eliciting what stakeholders need a system to do.
How it works
Requirements gathering is the activity of discovering what a system must do and under which constraints. Functional requirements describe behaviors, and non-functional requirements describe qualities such as performance, security, reliability and usability. Techniques include stakeholder interviews, workshops, surveys, observation, prototypes and analysis of existing systems. Requirements should be clear, testable, prioritized and traceable to design and tests.
Step-by-step walkthrough
- Identify who needs the system.
- Interview them, observe their work and run workshops.
- Write clear testable requirements.
- Separate functional needs from quality needs such as speed.
- Review them with stakeholders to resolve conflicts and gaps.
Where it is used
Product teams, consultants and internal IT projects begin with requirements to align what is built with what users need. Good requirements shape estimates, contracts and acceptance tests.
Common pitfall
Vague statements such as the system should be fast cannot be verified. Stakeholders may not know what they need until they see something, so requirements change. Missing stakeholders, conflicting needs and unrecorded assumptions cause expensive rework. Use examples, acceptance criteria and prototypes, review with users and manage changes explicitly.
Where it fits in the course
Requirements Gathering is topic 2 of 50 in Software Engineering, rated Beginner. It follows Software Development Life Cycle. The next topic is Waterfall Model.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Software Engineering quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Software Engineering quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is Requirements Gathering?
Where do people use Requirements Gathering?
What is the most common mistake with Requirements Gathering?
What should I learn before this topic?
How can I practice it?
Is Requirements Gathering hard to learn?
How long does it take to learn Requirements Gathering?
Which topics are related to Requirements Gathering?
What should I study after Requirements Gathering?
Related topics
- Software Development Life Cycle (Software Engineering)
- Waterfall Model (Software Engineering)
- Agile Methodology (Software Engineering)
- Scrum (Software Engineering)