Que yo sepa, la lista de requerimientos funcionales y no funcionales es una etapa previa a la especificación de los requerimientos del software, y esta es previa a la definición técnica del soft, el cual a su vez antecede al desarrollo...
En síntesis, si no tenías la especificación de requerimientos, ¿cómo sabías qué es lo que el software debía hacer?