| 
    Requirements are the project team's to-do list.
 
    Requirements define what is needed and focus the project team. They are the primary method used to communicate the
    goals of the project to everyone on the team.
 
    Requirements define:
 
    
        What the stakeholders need; and
    
        What the system must include to satisfy the stakeholders' needs.
     
    Requirements are the basis for capturing and communicating needs, managing expectations, prioritizing and assigning
    work, verifying and validating the system (acceptance), and managing the scope of the project.
 
    Requirements may take different forms, including scenarios, unstructured text, structured text, or a combination, and
    they may be stated at different levels of granularity. At the highest level of granularity, features define the
    services that the system must provide to solve the customer's problem. These are captured as structured or unstructured
    text in the project vision. At the next level of granularity, use cases can be used to define the functionality that
    the system must provide to deliver the required features. Use cases describe the sequence of actions
    performed by the system to yield an observable result of value.
 
    As mentioned, a system must perform according to the behavior that can be specified as use cases. However, there
    are system requirements that do not represent a specific behavior, also known as system-wide requirements,
    including:
 
    
        Legal and regulatory requirements, as well as application standards
    
        Quality attributes of the system to be built, including usability, reliability, performance, and supportability
        requirements
    
        Interface requirements to be able to communicate with external systems
    
        Design constraints, such as those for operating systems and environments and for compatibility with other software
     |