La gestión de requisitos a corto plazo para proyectos ágiles me parece un problema resuelto.
Desde el ángulo de Scrum, los nuevos requisitos o cambios en los requisitos existentes se entregan a través de User Stories. Y las historias de usuario agrupadas bajo una épica o característica facilitan la entrega de requisitos más grandes y complejos.
Por supuesto, una historia de usuario no es técnicamente un documento de requisitos. Es una agrupación de trabajo manejable que se asigna a lo que a menudo se llama una rebanada vertical de funcionalidad. Y el alcance de estas historias se puede definir inequívocamente mediante el uso de los Criterios de aceptación (AC).
Entonces, aunque las Historias de usuarios no son requisitos formales, navegar a través de ellas puede darle una idea bastante clara de sus requisitos subyacentes. A corto plazo.
Digo a corto plazo porque, a medida que avanza un proyecto, aumenta el número de Historias de usuarios. Por lo tanto, navegar a través de una lista cada vez mayor de Historias para encontrar un Requisito se vuelve cada vez menos eficiente con el tiempo.
Este problema se agrava cuando considera Historias de usuarios que se expanden, reemplazan o incluso niegan Historias anteriores.
Ahora, imagine una brecha de 2 años entre las iteraciones de desarrollo en un proyecto (estable en producción). El equipo original se fue y también todos sus conocimientos.
Si el equipo original sabía que esto iba a suceder (por ejemplo, es la naturaleza del negocio), ¿qué medidas podrían tomar para ayudar a los equipos posteriores?
Claro, el trabajo atrasado proporcionará cierta información, pero difícilmente se puede navegar fácilmente.
Entonces, ¿qué se puede hacer para ayudar a los equipos posteriores a comprender el estado del proyecto, incluido por qué y cómo llegó allí?
En mi experiencia, las siguientes cosas no funcionan:
- Acumulación de trabajos pendientes para eliminar o actualizar Historias de usuarios anteriores para que el Trabajo pendiente pueda leerse como un documento de requisitos.
- Sprints de documentación donde los miembros del equipo tienen la tarea de documentar el estado actual del sistema.
- Documentación a través de pruebas de comportamiento . Este enfoque es el único que he visto acercarse a trabajar. Desafortunadamente, las pruebas de comportamiento codificadas son víctimas del problema de nomenclatura. Aunque las pruebas pueden documentar correctamente el sistema, es casi imposible lograr que un equipo fluctuante de desarrolladores escriba sus pruebas siguiendo la misma terminología, redacción y estilo del dominio.
Entonces, para reiterar:
¿Cómo se gestionan los requisitos del proyecto ágil a largo plazo?