La problemática de la gestión de requerimientos está dirigida a todos aquellos que de alguna manera participan en forma directa o indirecta en la definición de las prestaciones funcionales de un sistema informático.
Según la IEEE un requerimiento es la condición o capacidad que debe poseer un sistema o un componente de un sistema para satisfacer un contrato, un estándar, una especificación u otro documento formalmente impuesto. En este sentido, “la gestión de requerimientos comprende al conjunto de actividades que intentan entender las necesidades de los usuarios y traducirlas en afirmaciones precisas (no ambiguas), que se usarán en el desarrollo del sistema “
Tomando en cuenta estas definiciones, resulta claro que en la gestión de requerimientos deben participar activamente usuarios, directivos y técnicos, cada uno con roles y responsabilidades específicas. Si el usuario final no participa del proceso de desarrollo hay más probabilidades de que encuentre que el producto no responde a las necesidades planteadas, lo que podría llevar al fracaso de la implementación. En este sentido, un error bastante habitual es la posición que adoptan los técnicos de no involucrar a los usuarios hasta que el software es visible, es decir, cuando ya fue desarrollado.
El proceso de gestión de requerimientos implica tres tipos de tareas:
• Elicitación:
• Especificación.
• Validación.
Estas tareas se desarrollan en forma interactiva a partir de un abordaje progresivo del problema.
Se espera que una especificación de requerimientos que fue aprobada por clientes y/o usuarios tenga al menos las siguientes características:
• Que contenga todos los requerimientos deseados.
• Que cada requerimiento solo tenga una interpretación posible (esto apunta a eliminar ambigüedades).
• Que el cumplimiento de cualquier requerimiento no provoque conflictos con el cumplimiento de otro requerimiento, es decir, que sea consistente.