Los requisitos no funcionales se refieren a todos aquellos requisitos que no tienen que ver directamente con la funcionalidad del sistema. Es decir, los requisitos no funcionales especifican aspectos del sistema que no se relacionan directamente con las tareas que el sistema debe realizar. Algunos ejemplos de requisitos no funcionales son: el rendimiento, la fiabilidad, la seguridad, la portabilidad, la escalabilidad, etc.
Los requisitos no funcionales son esenciales para el éxito de un sistema, ya que un sistema puede tener la funcionalidad más increíble del mundo, pero si no es fiable o seguro, nadie lo va a usar. De la misma manera, un sistema puede ser muy fiable y seguro, pero si no es escalable, no podrá manejar el aumento del tráfico o el número de usuarios.
Por lo tanto, es importante que los requisitos no funcionales sean especificados de manera clara y concisa, y que sean una parte integral del proceso de desarrollo de software.