Historia de la cuestión:
Las etapas tempranas de los proyectos a menudo están acompañadas por una insuficiente definición de los objetivos empresariales y las soluciones arquitectónicas, por lo que el analista de sistemas se enfrenta al problema de definir el nivel óptimo de detalle de los requisitos. Una elección errónea conduce tanto a un excesivo desarrollo (overengineering) como a tareas difusas y falta de comprensión en el equipo.
Problema:
Algunos interesados requieren ver detalles "en la orilla", otros temen que un exceso de detalle lleve a la pérdida de flexibilidad. La transición entre etapas (de la concepción al diseño, luego a la implementación) requiere una actualización oportuna de los requisitos y la participación de todos los involucrados.
Solución:
El analista de sistemas aplica un enfoque iterativo. En las fases iniciales, se fijan solo las necesidades empresariales principales y bloques grandes (epic), luego los niveles de detalle aumentan a medida que se avanza hacia el desarrollo:
Características clave:
¿Quién debe determinar el nivel de detalle necesario: el analista, el arquitecto o el cliente?
Se piensa erróneamente que solo lo hace el analista o solo el arquitecto, sin embargo, la respuesta correcta es: el nivel de detalle es responsabilidad de todo el grupo coordinador (analista, arquitecto, propietario del producto, líderes técnicos y cliente), acordado en el marco de la metodología del proyecto.
¿Son suficientes los requisitos de alto nivel para iniciar el trabajo del equipo?
No, los requisitos de alto nivel son necesarios para formar una visión general. Para pasar al desarrollo, es imprescindible tener escenarios detallados (user stories, criterios de aceptación), de lo contrario, hay un gran riesgo de malentendidos y errores en la implementación.
¿Deben todos los requisitos estar igualmente detallados para el lanzamiento?
No, a menudo los requisitos para el MVP se desarrollan en profundidad, mientras que las tareas menos prioritarias se mantienen a nivel de borradores para no desperdiciar recursos prematuramente.
Caso negativo: Proyecto de CRM en una startup. El negocio insistía en una completa detallación de todos los módulos por adelantado. El analista creó cientos de páginas de requisitos para todas las futuras funciones, aunque solo las ventas eran prioritarias.
Ventajas:
Desventajas:
Caso positivo: En un proyecto similar, el analista formó el núcleo de requisitos para el MVP (gestión de leads y transacciones), y los demás los definió como épicas con una breve descripción. El detalle se produjo a medida que se acercaba a los sprints de implementación.
Ventajas:
Desventajas: