Un documento de requerimientos declara lo que los desarrolladores deben implementar en un sistema de software. Debe incluir requerimientos funcionales y no funcionales para los usuarios y especificaciones técnicas. Un documento de requerimientos organiza los requerimientos para que puedan ser usados por clientes y desarrolladores, y determina lo que el sistema debe hacer y sus restricciones. Los elementos clave de un documento de requerimientos incluyen introducción, descripción general y requerimientos específicos.