Task: Identify and Outline Requirements
This task describes how to identify and outline the requirements for the system so that the scope of work may be determined.
Disciplines: Requirements
Purpose
The purpose of this task is to identify and capture functional and non-functional requirements for the system. These requirements form the basis of communication and agreement between the stakeholders and the development team on what the system must do to satisfy stakeholder needs. The goal is to understand the requirements at a high-level so that the initial scope of work can be determined. Further analysis will be performed to detail these requirements prior to implementation.
Relationships
Steps
Gather information

Use various techniques to make gathering requirements easier. Face-to-face meetings with stakeholders is the most effective way to understand stakeholder needs and to gather and validate requirements, but you must prepare in order for these meetings to run efficiently.

Be prepared by gathering and reviewing information related to the problem domain, problem statement, business environment and key stakeholders. Most of this information should be available in the vision. Also review the existing requirements repository for stakeholder requests.

Identify and capture domain terms
If there are ambiguous or domain-specific terms that need to be clearly defined, make sure you work closely with stakeholders to capture these terms in the glossary and that you use these terms consistently.
Identify the types of requirements relevant to your system

Requirements can be broadly classified as either functional or non-functional requirements. The former specify what the system must do. The latter specify constraints on the solution such as usability, reliability, performance, supportability, interfaces with legacy systems, etc. Depending upon the domain there may be regulatory requirements that apply.

Collaborate with stakeholders to identify the types of requirements relevant to your system. This will help you assess the completeness of your requirement set.

Identify and capture Use Cases and Actors in a Use-Case Model

Find and define the line that divides the solution and the real world that surrounds the solution. Collaborate with the project manager and architect, since decisions concerning system boundaries will have a major impact on cost, schedule and system architecture.

Collaborate with stakeholders to identify interfaces, as well as input and output information exchanged with users, machines, or systems. Identify and capture the Actors and Use Cases in the Use-Case Model. See Guideline: Identify and Outline Actors and Use Cases for more information.

Identify and capture use cases and scenarios

Collaborate with stakeholders to identify and capture the use cases and scenarios relevant to your system. Capture references to these requirements with other project to-do items so that you can prioritize the work.

See Identify and Outline Actors and Use Cases for more information.

Identify and capture system-wide requirements

Collaborate with stakeholders to identify and capture the system-wide requirements relevant to your system. Capture references to these requirements with other project to-do items so that you can prioritize the work.

See Identify and Outline Actors and Use Cases for more information.

Achieve concurrence
Conduct a review of the requirements with relevant stakeholders and the development team to ensure consistency with the agreed vision, assess quality, and identify any required changes.
More Information