Requirements define the capabilities and conditions a system must provide. Managing requirements is important to avoid project failure due to building the wrong thing. The waterfall method attempts to fully describe and freeze requirements, while the unified process realizes requirements will change and plans for managing change. There must be a systematic approach to finding, documenting, organizing, and tracking changing requirements. Requirements are categorized by factors like functional, usability, reliability, and performance (FURPS+) and include ancillary sub-factors. Functional requirements are detailed in use cases and vision documents, while non-functional requirements describe system qualities.