Overview - Requirements gathering (functional and non-functional)
What is it?
Requirements gathering is the process of collecting and understanding what a system must do and how it should perform. It includes two main types: functional requirements, which describe specific behaviors or functions, and non-functional requirements, which describe qualities like speed, security, and usability. This process helps ensure the system meets the needs of its users and stakeholders. Without clear requirements, building a useful system is very difficult.
Why it matters
Without proper requirements gathering, systems often fail to solve the right problems or disappoint users because they miss key features or quality expectations. This can lead to wasted time, money, and frustration. Clear requirements help teams build the right system efficiently and avoid costly changes later. It connects the ideas of users and developers into a shared understanding.
Where it fits
Before requirements gathering, learners should understand basic project goals and stakeholder roles. After mastering requirements gathering, learners typically move on to system design, where they use these requirements to create architecture and detailed plans.