Requirements are used to generate legacy document types. Use features to generate Real-time Agile documents. A requirement is an event, condition, or function that must be satisfied and tracked by an application. A requirement can be functional (a capability) or non-functional (a quality or constraint). One or more requirements define the criteria for the successful implementation of a specification.