Los requisitos definen lo que el producto debe hacer; son la expectativa documentada del resultado de la implementación del proyecto. El documento describe las expectativas del cliente, así como del desarrollador del programa, las funciones y el proyecto en su conjunto. Los requisitos incluyen las características, el coste, los plazos y los riesgos. De este modo, los requisitos constituyen la formulación de lo que es necesario desarrollar, o bien la descripción cuantitativa precisa de lo que se desea obtener como resultado de la implementación del proyecto. Una mala definición de los requisitos es la causa principal de los problemas durante la implementación del proyecto.
Los requisitos establecen lo que debe hacerse, con qué grado de calidad y bajo qué restricciones. Si los requisitos son incorrectos, el proyecto y el producto resultarán igualmente defectuosos. Los requisitos, junto con las restricciones y las hipótesis correspondientes, descomponen el problema que se ha de resolver en partes constituyentes, lo que en última instancia determina el éxito del proyecto en su conjunto.
Tipos de requisitos:
- Los requisitos funcionales definen lo que un determinado elemento del sistema debe hacer.
- Los requisitos de precisión definen los parámetros cuantitativos de las funciones correspondientes que ejecuta el sistema.
- Los requisitos de restricción se derivan de las limitaciones del régimen de explotación, las condiciones del entorno, la seguridad o el cumplimiento normativo.
- Los requisitos de verificación establecen en qué medida puede confiarse en que el sistema posee las características especificadas en el entorno real de funcionamiento.
- Los requisitos de interfaz definen las funciones, las características, las tolerancias y las restricciones de todas las interfaces.
- Los requisitos operacionales definen la operatividad del sistema y su interacción con los usuarios.
En la literatura anglosajona, para memorizar los rasgos de unos buenos requisitos se utiliza el acrónimo SMART:
- Specific (Específicos): los requisitos deben referirse a una sola particularidad del proyecto o característica del sistema. Deben formularse en términos de qué y con qué grado de calidad debe hacerse, y en ningún caso en términos de una posible solución, es decir, de cómo hacerlo.
- Measurable (Medibles): el parámetro medible se expresa de forma objetiva y cuantitativa.
- Achievable (Alcanzables): el requisito debe ser técnicamente alcanzable a un coste razonable.
- Relevant (Pertinentes): el requisito debe corresponder al nivel del sistema elegido.
- Traceable (Trazables): los requisitos de nivel inferior deben derivarse explícitamente de los requisitos de nivel superior y/o estar respaldados por ellos. Los requisitos sin requisitos «padre» se consideran «huérfanos» y deben evaluarse en cuanto a la necesidad de su incorporación.
Necesidad. Si existe alguna duda sobre la necesidad de un requisito, basta con formularse la pregunta: «¿Qué consecuencia negativa tendría para el sistema que este requisito no se incluyese en la lista?». Si no se encuentra respuesta, probablemente el requisito no sea necesario.
Verificabilidad. Una vez formulado el requisito, es preciso determinar cómo puede verificarse. Para ello es necesario elegir el criterio de conformidad correspondiente.
Alcanzabilidad. Para ser alcanzable, un requisito debe ser técnicamente realizable en los plazos y al coste dados, en condiciones de existencia de restricciones adicionales. Si existe incertidumbre sobre la viabilidad técnica del requisito, debe realizarse la investigación o el estudio adicional correspondientes. Si aun después de ello la incertidumbre persiste, es preferible formular un objetivo, no un requisito. Es evidente que, incluso si el requisito es técnicamente viable, puede resultar inalcanzable debido a restricciones de coste, plazos u otras, como las de peso. Carece de sentido formular un requisito sobre algo irrealizable: es necesario ser pragmático.
Claridad. Cada requisito debe expresar una única idea, ser conciso y sencillo. Es importante que el requisito resulte comprensible y no ambiguo. Para los buenos requisitos suelen bastar oraciones simples.
El requisito debe formularse en forma afirmativa y nunca comenzar con una negación; debe ser gramaticalmente correcto, sin erratas ni omisiones. En todos los niveles del sistema debe emplearse la misma terminología.