LearnViz CompSci
Home / Learn / Software Engineering / Requirements Gathering

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

  1. Identify who needs the system.
  2. Interview them, observe their work and run workshops.
  3. Write clear testable requirements.
  4. Separate functional needs from quality needs such as speed.
  5. 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

How to study this topic

  1. Read the explanation above and restate the definition in your own words.
  2. Open the interactive lesson and answer its mini quiz.
  3. Read the common pitfall, then write a short example that avoids it.
  4. Check your understanding in the Software Engineering quiz, and revisit the topic if you miss a question.

Frequently asked questions

What is Requirements Gathering?
Eliciting what stakeholders need a system to do. It belongs to Software Engineering and is a beginner-level topic.
Where do people use Requirements Gathering?
Product teams, consultants and internal IT projects begin with requirements to align what is built with what users need.
What is the most common mistake with Requirements Gathering?
Vague statements such as the system should be fast cannot be verified.
What should I learn before this topic?
Start with Software Development Life Cycle, the topic just before it in Software Engineering.
How can I practice it?
Answer the mini quiz in the interactive lesson, then take the Software Engineering quiz.
Is Requirements Gathering hard to learn?
It is a Beginner topic, so it works as an entry point. If the terms are new, read the explanation twice and try the visualizer before the quiz.
How long does it take to learn Requirements Gathering?
Most learners can read the explanation and finish the interactive lesson in under an hour. Fluency comes from applying the idea, so plan a few short practice sessions with the quiz.
Which topics are related to Requirements Gathering?
Software Development Life Cycle, Waterfall Model, Agile Methodology are closely connected. The full list is in the related topics section of this page.
What should I study after Requirements Gathering?
Continue with Waterfall Model, the next topic in Software Engineering.

Related topics