Skip to content

Buenos y malos requerimientos

Una manera de realizar una buena obtención de requerimientos implica la utilización de técnicas repetibles y sistemáticas para asegurar que los requerimientos del sistema sean completos, consistentes, relevantes, etc.

También implica cubrir las actividades relacionadas con el descubrimiento, documentación y mantenimiento de los requerimientos.

Los atributos individuales a considerar para un buen requerimiento serían:

– Correcto. Cualidad que sólo puede ser asegurado por el cliente o usuario.

– Posible (factible). Cualidad que requiere conocimiento de parte del área de desarrollo, herramientas disponibles, técnicas, gente y presupuesto que posibilite la satisfacción final del requerimiento.

– Necesario. Cualidad que puede ser determinada entre el cliente y el desarrollador en la obtención de requerimientos, con la finalidad de establecer los requerimientos a entregarse para esa versión.

– Priorizado. Cualidad determinada entre usuario y desarrollador para establecer en cada requerimiento un nivel de prioridad como: muy importante, absolutamente necesario, importante para la siguiente liberación y opcional.

– Claro. Cualidad que se refiere a que sólo puede tener un significado; fácil para leer y entender.

– Conciso. Que contenga la información necesaria para continuar con el desarrollo. Asociando historia, costos, programación, tareas, productos, etc.

– Verificable (probado, medido). Cualidad que significa que una persona o máquina puede revisar si el software cubrió los requerimientos.

Como conjunto, la especificación de requerimientos de software debería de contar con las siguientes características:

– Completo. Cualidad que puede ser asegurada por el cliente revisando que todos los requerimientos significativos se encuentran incluidos (funcionales, desempeño, externos, etc).

– Consistente. Cualidad que el desarrollador asegura entre los documentos internos.

– Modificable. El cambio en los requerimientos es algo normal.

– Rastreable. Cualidad compartida entre cliente y desarrollador en la que el requerimiento establecido puede seguirse desde su establecimiento hasta su entregable como software.

Fuente: Apuntes de Ingeniería del Software de la FCA de la UNAM