Uno de los aspectos importantes de un proyecto ágil, es que la carga de trabajo para cada iteración se determina al inicio de ella no se la planifica con muchos meses de anticipación, esto permite que el proyecto ágil sea muy flexible.
Al inicio de cada iteración se realiza una reunión entre el dueño del producto (product owner) y el equipo del proyecto para determinar la carga de trabajo. Durante la reunión, el dueño del producto evalúa los requisitos pendientes y extrae el siguiente juego de historias de usuarios que son de máxima prioridad. El nivel de esfuerzo para cada historia de usuario debió ser asignado cuando se la incluyó en los pendientes (backlog). Debería incluirse un estimado de las horas de esfuerzo, o posiblemente un número determinado de “story points”. Los puntos de historia son números usados para estimar el tamaño relativo de una historia de usuario.
Durante la reunión de planificación, los miembros del equipo asumen bajo su responsabilidad los puntos de historia o “story points” como puedan terminar en esa iteración. Las historias de usuario más importantes son asignadas al equipo, de esta manera, el dueño del producto se asegura siempre que sus necesidades más importantes van a incluirse en la solución final.
Es importante que el equipo del proyecto evalúe rápidamente cuánto trabajo pueden terminar en cada iteración. Esto permite que la carga de trabajo se mantenga relativamente estable entre las sucesivas iteraciones. Si el equipo encuentra que no pudo terminar un juego de historias de usuario en la iteración pasada, puede aceptar menos trabajo en la siguiente. De la misma manera, si el equipo encuentra que pudieron haber hecho más trabajo en la iteración pasada, pueden tomar más trabajo en la próxima. El paso con el cual el equipo completa puntos de historia de la lista de pendientes también se conoce como la “velocidad” del equipo.
Las historias de usuario que se seleccionan para realizar durante la iteración se deben terminar. En un proyecto tradicional, uno podría postergar un hito o una implementación si todo el trabajo no se termina, sin embargo, en un proyecto ágil es importante mantenerse en un ciclo de iteraciones constante. Si la historia de usuario no está lista cuando la iteración lo está para entrar en producción, el código debe ser excluido para desplegar el resto de la iteración a tiempo. No hay atrasos a la fecha de terminación de la iteración, el equipo selecciona suficiente trabajo como para terminarlo a tiempo.
El equipo del proyecto entonces se enfoca en culminar el trabajo de cada iteración, una y otra vez. Estos pasos constantes para cada iteración se conocen también como el “ritmo” del equipo. Historias, puntos, velocidad y ritmo. Estos son los términos característicos del modelo ágil.