La lista priorizada de objetivos/requisitos representa la visión y expectativas del cliente respecto a los objetivos y entregas del producto o proyecto
El orden de sus ítems viene determinado por el valor que aporta al cliente final respecto a riesgos y coste estimado de completarlo (ROI). Es una planificación estratégica que evoluciona a lo largo de toda la vida del producto/proyecto, debido a cambios de necesidades del cliente, feedback del mercado, aparición de nuevas ideas, dificultades tecnológicas, etc.
El cliente es el responsable de crear y gestionar la lista (con la ayuda del Facilitador y del equipo, quien proporciona el coste estimado de completar cada requisito). Dado que reflejar las expectativas del cliente, esta lista permite involucrarle en la dirección de los resultados del producto o proyecto.
- Contiene los objetivos/requisitos de alto nivel del producto o proyecto, que se suelen expresar en forma de historias de usuario. Para cada objetivo/requisito se indica el valor que aporta al cliente y el coste estimado de completarlo. La lista está priorizada balanceando el valor que cada requisito aporta al negocio frente al coste estimado que tiene su desarrollo, es decir, basándose en el Retorno de la Inversión (ROI).
- En la lista se indican las posibles iteraciones y las entregas (releases) esperadas por el cliente (los puntos en los cuales desea que se le entreguen los objetivos/requisitos completados hasta ese momento), en función de la velocidad de desarrollo del (los) equipo(s) que trabajará(n) en el proyecto. Es conveniente que el contenido de cada iteración tenga una coherencia, de manera que se reduzca el esfuerzo de completar todos sus objetivos.
- La lista también tiene que considerar los riesgos del proyecto e incluir los requisitos o tareas necesarios para mitigarlos.
- Se evita caer en parálisis de análisis al inicio del proyecto, de manera que se puede iniciar antes el desarrollo y el cliente puede empezar a obtener resultados útiles.
- Se evita analizar en detalle requisitos no prioritarios que podrían cambiar durante el transcurso del proyecto, dado que el cliente conocerá mejor cuál ha de ser el resultado a conseguir, o bien por que podrían ser reemplazados por otros.
- Puede llegar a un punto del proyecto en que no valga la pena analizar ni desarrollar los requisitos restantes, dado el poco retorno de inversión (ROI) que tienen.
Iteración de entrega (release sprint)
Cuando el cliente solicita una entrega de los objetivos/requisitos completados hasta ese momento, el equipo puede necesitar añadir una iteración de entrega, más corta que las iteraciones habituales, donde realizar alguna tarea que no ha sido necesaria o posible hasta el momento de la entrega final y acabar de corregir defectos detectados en la última demostración.
Idealmente esta iteración de entrega no debería existir (o reducirse a tareas mínimas dentro de una iteración) si:
- Se ha trabajado con una buena Definición de Hecho durante cada iteración del proyecto.
- Se hacen entregas muy cortas cada poco tiempo, con lo que la cantidad de cosas a entregar, integrar y probar es pequeña.
- Se está realizando un esfuerzo de automatización de estas tareas de pruebas, iteración y entrega durante todo el proyecto (con lo cual se gana en eficiencia y seguridad).
Uso de la lista de objetivos priorizada
- Para medir la velocidad de desarrollo del equipo, ver una progresión constante y extrapolar la fecha de las entregas, es conveniente seguir las siguientes recomendaciones:
- Los requisitos deben tener un esfuerzo semejante para ser completados.
- La estimación de un requisito no debe ser superior a 10 días (si las iteraciones son de 20 días laborables).
- Cada requisito tiene asociado un factor de complejidad, que permite ajustar su coste estimado en función de la incertidumbre de la complejidad de su desarrollo en el momento de introducirlo en la lista. Este factor de coste se irá ajustando conforme las iteraciones avancen y el equipo conozca mejor el producto o proyecto, su contexto y su velocidad de desarrollo con las herramientas y tecnologías que utiliza.
- Si un requisito depende de otro, se coloca en algún punto por debajo del que depende.
- Si un requisito no se finaliza en una iteración, se le vuelve a poner en alguna de las siguientes iteraciones, indicando el coste pendiente de desarrollo.
- El «origen» permite saber quién podría participar en la definición de un objetivo/requisito y sería conveniente que estuviese presente en el momento de su demostración.
El progreso del proyecto y su velocidad con respecto a requisitos completados se muestra en un gráfico de trabajo pendiente (Burndown chart).
Artículos relacionados
- Refinamiento de la lista de requisitos y cambios en el proyecto
- Planificación ágil vs planificación tradicional
- Introducción a la estimación y planificación ágil
- Videos cortos sobre planificación ágil
- Estimación y planificación ágil – Resultados del quinto encuentro ágil en Barcelona
- Creación de Product Backlog – III encuentro ágil en Barcelona
- Planificación ágil de proyectos dependientes
- Métricas ágiles y cuadro de mandos integral para Scrum
- Métricas ágiles y valor – VI encuentro ágil en Barcelona