Author: reqstudio

the-importance-of-software-requirements-management

La definición de la Gestión de Requerimientos de Software fue explicada en nuestro artículo de definición anterior. Sin embargo, usted puede preguntarse dónde reside la importancia de la gestión de los requerimientos de software.

El The Standish Group ha analizado durante más de 20 años más de 100.000 proyectos de TI. Presentan una sólida estadística sobre el porcentaje de proyectos que no cumplen con los plazos y/o el presupuesto. El Informe de Caos 2016 indica que más del 50% de los proyectos no fueron entregados a tiempo o dentro del presupuesto. Y más del 9% de los proyectos no cumplieron ni con el plazo ni con el presupuesto.

Obviamente, hay prácticas clave en la industria que pueden mejorar el rendimiento del desarrollo de software. De acuerdo con The Standish Group hay varias cosas que aumentan dramáticamente la probabilidad de entregar el proyecto de software en el plazo previsto. Metodologías ágiles, mantener los proyectos más pequeños o equipos altamente capacitados…

 

Sin embargo, las empresas siguen encontrando problemas en sus proyectos y buscan herramientas que les ayuden. Necesitan:

  • Trazabilidad por razones de cumplimiento
  • Para gestionar mejor las dependencias del proyecto y los cambios de alcance
  • Detección temprana de errores con una rápida respuesta del cliente sobre la funcionalidad suministrada
  • Para reducir las probabilidades de tener que dedicar tiempo y dinero extra a la repetición de tareas no programadas
  • Una fuerte estructura sin fisuras para asegurar que la metodología de desarrollo de software se siga de manera consistente
  • Equipos ágiles para alinear a las partes interesadas del negocio y de la TI

 

¿Qué sucede en un mundo ágil?

 

La mala gestión de los requerimientos es una de las principales causas de fracaso de los proyectos. Según el Instituto de Ingeniería de Software Carnegie Mellon, el retrabajo de software puede aumentar entre el 40 y el 50% del esfuerzo del desarrollo de TI. Y el origen de los defectos de software ocurre en el 64% de los casos durante la fase de requerimientos y diseño:

 

Origen de los defectos de software

Otras fuentes confirman la tendencia. El estudio del Instituto de Gestión de Proyectos (PMI) muestra que el 32% de los fracasos de los proyectos se atribuyen a la inexactitud de la recopilación y gestión de los requerimientos. Además, el Grupo Standish identifica que en el 35% de los casos, el problema de fondo estaba vinculado a una mala gestión de los requerimientos.

Hay poca evidencia que sugiera que las cosas son diferentes cuando se usa Agile. El atraso normalmente no contiene suficiente información para especificar una solución completa. Información como requerimientos no funcionales, descripciones de características, decisiones arquitectónicas, etc., pueden ser capturadas como requerimientos.

La investigación ha demostrado que puede costar hasta 100 veces más corregir un defecto más tarde que cuando todavía está en la etapa de definición de requerimientos. Las investigaciones de IBM confirman también la correlación entre el costo de la corrección de defectos de software y la etapa de desarrollo del proyecto:

Costo relativo de la corrección de defectos de software según IBM.

¿Cuánto puede ayudar a tener una buena gestión de requisitos? Las investigaciones de IBM demuestran la importancia de la gestión de requerimientos de software.

Las estadísticas indican que las empresas pueden:

  • Reducir los costos de desarrollo hasta un 57%.
  • Mejorar el tiempo de comercialización hasta un 20%.
  • Optimizar el control de costes de calidad en un 69%.
reqstudio-requirement-management-simple

La gestión de los requerimientos de software es un paso dentro del ALM (Ciclo de Desarrollo de Aplicaciones por sus siglas en inglés) o SDLC (Ciclo de Vida de Desarrollo de Software). Es el proceso de:

  • En primer lugar, la recogida de requerimientos
  • Analizando
  • Refinamiento
  • Priorizar
  • Y finalmente, la planificación de su entrega

Un requerimiento define cuál es la tarea y el resultado que debe realizar cada software. En el contexto Ágil, los requerimientos incluirán historias de usuarios y épicas. Estas pueden ser rastreadas y relacionadas con los artefactos del proyecto.

Este proceso se encuentra al frente del desarrollo de TI, y no importa la metodología utilizada: Cascada o Ágil. El proceso involucra la comunicación entre los diferentes miembros del equipo y las partes interesadas. Los equipos suelen estar formados por los propietarios de los productos de la empresa y los equipos de desarrollo.

 

El propósito de este proceso es asegurar la alineación de las partes interesadas del negocio y de TI. Por lo tanto, el objetivo es que los entregables de software satisfagan las necesidades de sus clientes. ¿Cuáles son los elementos clave a tener en cuenta para la gestión de los requerimientos de software?

La gestión de los requerimientos de software debe proporcionar al menos las siguientes características:

  • Trazabilidad, por razones de cumplimiento y gestión de cambios
  • Herramientas de colaboración cruzada, para permitir la comunicación de los usuarios utilizando un lenguaje natural e interactuar en tiempo real
  • Seguimiento del historial o control de versiones, para asegurar que cada acción realizada por cualquier usuario sea registrada y contabilizada
  • Capacidades de priorización, para asegurar que los grupos de interés del negocio y los equipos de TI estén alineados en lo que es más importante y urgente desarrollar de forma dinámica y hacer un seguimiento de la gestión del cambio.
  • Proceso de flujo de trabajo de revisión y aprobación, para asegurar la responsabilidad y la alineación
  • Uso de diagramas y lenguaje natural para la definición de requisitos
  • Presentación de informes, para supervisar los resultados del equipo y el avance del proyecto
  • Planificación, para organizar el trabajo de manera eficiente
  • Y por último, el perfil de los usuarios, no todos los usuarios tienen los mismos perfiles. Las herramientas deben adaptarse al perfil del usuario para facilitar su trabajo.

Esto se aplica tanto a las grandes corporaciones como a las pequeñas y medianas empresas.

En conclusión, la Gestión de Requerimientos de Software es probablemente el paso más importante para cualquier proyecto de desarrollo de software. En conclusión, la diferencia entre un proceso de Gestión de Requisitos de Software efectivo o inefectivo puede tener una gran influencia en la probabilidad de éxito de cualquier proyecto dado y su rentabilidad.

Finalmente, si desea entender mejor por qué la gestión de requisitos de software es importante, ¡probablemente le gustará nuestro próximo artículo!