Los requerimientos definen las capacidades que debe tener un sistema para resolver un problema y satisfacer las necesidades de los clientes. Incluyen criterios funcionales y no funcionales. Es importante que el desarrollador obtenga una lista completa y no ambigua de los requerimientos del cliente.