Types of Requirements
Types of Requirements
Business Requirements
User requirements cover the different goals your users can achieve using the
product and are commonly documented in the form of user stories, use cases,
and scenarios.
Product Requirements
Product requirements describe how the system needs to operate to meet the
business and user requirements. They include functional
requirements and non-functional requirements.
Functional requirements may be captured as part of a
product requirements document (PRD) or in the form of a separate functional
requirements document (FRD).
Why functional requirements need to
be documented
The stakeholders have a single source of truth. Clearly documented
requirements keep all developers, designers, and QA testers on the same page
and working towards the same goal, avoiding misunderstandings.
Less time is spent in meetings. When the team has a shared understanding
and a written record, there is no need for regular meetings.
Projects become more predictable. Detailed, high-quality requirements
allow the team to estimate the development time and cost more accurately
and develop a product that meets the expectations.
Problems can be identified sooner. Thoroughly capturing functional
requirements during the discovery phase helps identify errors early on and
correct them, saving time and resources.
Functional requirements examples
Functional requirements:
The system must allow users to log into their account by entering their email and
password.
The system must allow users to log in with their Google accounts.
The system must allow users to reset their password by clicking on "I forgot my
password" and receiving a link to their verified email address.
Functional vs. non-functional
requirements
Functional requirement: "The system must do [requirement]."
Non-functional requirement: "The system shall be [requirement].“
Functional requirements – as the name implies – refer to specific product
functionality. Defining, measuring, and testing them is usually a
straightforward task.
On the other hand, non-functional requirements (also known as "quality
requirements" or "quality attributes") are more abstract. They impose
constraints on the implementation of the functional requirements in terms of
performance, security, reliability, scalability, portability, and so on.
Cont….
NFRs are not themselves backlog items, but they are just as important since
they ensure the usability and effectiveness of the entire software system. A
transaction that takes 20 seconds to successfully complete may be functional
– but it's certainly not usable.
Every functional requirement typically has a set of related non-functional
requirements, for example:
Functional requirement: "The system must allow the user to submit feedback
through a contact form in the app."
Non-functional requirement: "When the submit button is pressed, the
confirmation screen must load within 2 seconds."