Task: Identify and Outline Requirements |  |
This task describes how to identify and outline the requirements for the system so that the scope of work can 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
Roles | Primary Performer: Analyst | Additional Performers: Architect Developer Stakeholder Tester
Inputs | Mandatory: None | Optional: [Technical Specification]
Outputs | Glossary System-Wide Requirements Use Case Use-Case Model Work Items List
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 must 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 might 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, because 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 in the Work Items List 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 in the Work Items List so that you can prioritize the work. See Developing System-Wide Requirements Specification 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
Concepts | Requirements System-Wide Requirements
Guidelines | Developing System-Wide Requirements Specification Effective Requirement Reviews Identify and Outline Actors and Use Cases Requirements Gathering Techniques
This program and the accompanying materials are made available under the Eclipse Public License V1.0, which accompanies this distribution. EPF Copyright.