TL; DR
¿Son las fechas límite [a] gile? ... [D] se ve que las líneas principales van de la mano con [a] gile development.
Es probable que muchas respuestas aquí se centren en los aspectos de ingeniería de la pregunta. En su lugar, abordaré esto desde una perspectiva de gestión de proyectos.
Una fecha límite implica una gran cantidad de planificación inicial que no está en línea con los principios ágiles. En cambio, los modelos de desarrollo iterativos se basan en cajas de tiempo, cadencia y ciclos de lanzamiento que incluyen la planificación justo a tiempo, pero no la "gran planificación inicial" que generalmente se asocia con el proyecto tradicional plazos de gestión.
Todavía es posible realizar la planificación de lanzamientos con metodologías ágiles, pero los planes generalmente se basan en una estimación de la cantidad de iteraciones requeridas para cumplir un objetivo en lugar de los objetivos de gestión establecidos por fiat. Esto no quiere decir que no se puedan establecer las fechas de envío o que no se puedan cumplir los objetivos, pero la manera de definirlos y cumplirlos es bastante diferente a la de las metodologías tradicionales de gestión de proyectos.
Pensar en cajas de tiempo, no en fechas límite
Sin embargo, todos los proyectos en los que he estado han insistido en establecer una fecha límite. Dado que Agile intenta centrarse en la planificación adaptable, la flexibilidad y el cambio; ¿Los plazos son ágiles?
Este es un malentendido común de los principios ágiles. Los marcos ágiles como Scrum y Kanban no se centran en los plazos, sino más bien en el time boxing y una cadencia sostenible de entrega.
En Scrum, por ejemplo, el Sprint no es una "fecha límite". Es un cuadro de tiempo que se llena con la cantidad de trabajo que el equipo estima que se ajustará dentro del cuadro de tiempo sin desbordarlo, y luego se "hace" o "no se hace" cuando el cuadro de tiempo expira. Una vez que se ha ido, la caja de tiempo se ha ido para siempre; cualquier trabajo que no se realice debe volver a planificarse y volver a calcularse dentro de un nuevo cuadro de tiempo igualmente efímero basado en las necesidades actuales (más que históricas) del proyecto.
La importancia del cuadro de tiempo es que crea tanto una cadencia predecible para que las partes interesadas revisen el progreso como un ritmo sostenible para el equipo en el que entregar incrementos de valor potencialmente enviables . El trabajo es incremental, y sigue la cadencia; Por lo tanto, el concepto de un plazo grande y adelantado no está en línea con los principios ágiles.
Planeación de la versión basada en cajas de tiempo
Quizás la única área en la que las personas tienen más dificultades para asignar procesos ágiles a los marcos tradicionales es la planificación de lanzamientos. La planificación de la versión a menudo implica entregas de alcance fijo o de fecha fija. En marcos ágiles, la planificación de lanzamientos generalmente se realiza a través de un proceso de estimación donde alcance se define explícitamente como una variable mutable, mientras que las fechas de lanzamiento se estiman en iteraciones.
Por ejemplo, un proyecto puede comprometerse a lanzar v1.0 de un proyecto al final de las 20 iteraciones; el alcance de lo que se publica puede cambiar a lo largo de la vida del proyecto (como el alcance, las características y las prioridades pueden cambiar al comienzo de cada Sprint), pero las fechas objetivo de cada lanzamiento se fijan en el plan del proyecto. El equipo se esfuerza por ofrecer un incremento potencialmente despachable para cada Sprint, y la Definición de Realización incluye controles de calidad, como la integración continua, para garantizar que el proyecto se encuentre en un estado de liberación al final de cada Sprint.
Ocasionalmente, verá proyectos ágiles en los que el alcance es fijo, pero dado que el alcance es la variable mutable en los proyectos ágiles, la fecha de lanzamiento puede cambiar con el tiempo a medida que el alcance de cada iteración se ajusta, cambia o se adapta a las necesidades cambiantes. del proyecto. Ciertamente no recomiendo el enfoque de alcance fijo para los equipos ágiles, especialmente los equipos sin experiencia, pero hay veces en que es el enfoque correcto.
Ver también