Task: Find and Outline Requirements |  |
This task describes how to find 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
Roles | Primary Performer: Analyst | Additional Performers: Architect Developer Stakeholder Tester
Inputs | Mandatory: Glossary Vision Work Items List | Optional: None
Outputs | Glossary Supporting Requirements Specification 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 should be available in the Artifact: Vision. Review the Artifact: Work Items List for stakeholder requests. See Guideline: Requirements Gathering Techniques for more information.
Identify and capture domain terms
Collaborate with stakeholder to make sure that ambiguous or domain-specific terms are clearly defined 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. For more information on types of requirements see Concept: Requirements and Concept: Supporting Requirements.
Identify and capture Use Case and Actors in a Use-Case Model
Collaborate with stakeholders to identify and capture the Actors and Use Cases in the Use-Case Model. See Guideline: Find and Outline Actors and Use Cases for more information.
Identify and capture Supporting Requirements
Collaborate with stakeholders to identify and capture the other types of requirements relevant to your system. See Guideline: Supporting Requirements for more information.
Achieve concurrence
Conduct a review of the requirements with relevant Stakeholders and the development team to ensure consistency with the Vision, assess quality, and identify any required changes. See Guideline: Effective Requirement Reviews for more information.
Update the Work Items List
Capture references to the requirements in the Artifact: Work Items List, so they can be prioritized.
Key Considerations
Collaboration with stakeholders on this task is critical for the success of project. See principle Collaborate to align interests and share understanding for more information.
More Information
Checklists | Qualities of Good Requirements Supporting Requirements Actor Use Case Use-Case Model
Concepts | Requirements Use Case Supporting Requirements Actor Use-Case Model
Guidelines | Requirements Gathering Techniques Find and Outline Actors and Use Cases Supporting Requirements Effective Requirement Reviews Requirement Pitfalls Writing Good Requirements Use-Case Model
This program and the accompanying materials are made available under the Eclipse Public License v1.0 which accompanies this distribution. OpenUP Copyright.