Planificación Ágil de Lanzamientos en Proyectos Híbridos y Ágiles

Cuando trabaja en un proyecto ágil o desea utilizar métodos ágiles, la planificación ágil de versiones puede ser una técnica crítica para proyectos centrados en TI y productos. La planificación ágil de versiones aparece como una técnica de programación en el PMBOK (Cuerpo de Conocimientos de Gestión de Proyectos de PMI). Por lo tanto, también es relevante para la certificación Profesional de Gestión de Proyectos (PMP).

Aunque este método no es necesariamente un requisito en todos los enfoques ágiles genuinos, es una buena herramienta para proyectos ágiles e híbridos impulsados por lanzamientos. Esto se debe a que la planificación ágil de lanzamientos puede cerrar la brecha entre la planificación de proyectos más tradicional y el desarrollo de productos ágil o iterativo.

Siga leyendo para obtener más información sobre esta técnica.

¿Cómo Funcionan Los Lanzamientos?

Una versión generalmente consiste en un conjunto de características o componentes de software que se desarrollan y prueban dentro de un cierto período de tiempo. Tras el desarrollo y las pruebas, estas características se implementan de una sola vez como parte de la versión.Las versiones

pueden incluir características y mejoras de software, así como partes y piezas de proyectos de desarrollo más grandes. Por ejemplo, la actualización de un sistema de desarrollo propio o listo para usar se puede dividir en diferentes versiones para garantizar una transición sin problemas, la continuidad de las operaciones y evitar los riesgos inherentes a las migraciones de «big bang».

¿Qué es un Plan de Lanzamiento?

El plan de lanzamiento es el documento que establece el alcance, el cronograma y, en algunas organizaciones, los recursos y el costo relacionados con una versión.

Un plan de lanzamiento describe qué componentes del sistema se desarrollan, prueban e implementan durante un período de tiempo fijo (a menudo entre 1 y 6 meses). El plan de lanzamiento se puede ver como una lista priorizada de características, similar a los retrasos de productos en algunos marcos ágiles. Por lo general, requiere cierta priorización, ya que a menudo no todos los requisitos del sistema pueden cubrirse con una sola versión. Esto es particularmente cierto en entornos organizacionales y de TI más complejos.

Además de las características o productos recién desarrollados, un plan de lanzamiento también puede incluir correcciones de defectos y mejoras o cambios críticos en los sistemas existentes.

Los planes de lanzamiento a menudo se configuran de antemano para un par de lanzamientos próximos (por ejemplo, planes para 4 lanzamientos dentro de 1 año). Esto permite la asignación de componentes a una versión de destino en función de la prioridad, el riesgo y la criticidad individuales de las características. Por lo general, el plan para la versión más cercana se detalla, mientras que los planes para las versiones posteriores tienden a ser toscos. Sin embargo, estos planes normalmente se refinan y se vuelven más detallados a medida que se acerca la versión respectiva. Esto es comparable al concepto de elaboración progresiva en la gestión de proyectos.

Planes de lanzamiento en Proyectos Tradicionales y Ágiles

En proyectos tradicionales relacionados con TI, los planes de lanzamiento son una técnica muy común para administrar el desarrollo y la implementación de software.

Además, algunos marcos ágiles hacen uso de versiones y planes de versiones. En Extreme Programming (XP), por ejemplo, una versión consta de varias iteraciones que son más cortas y fáciles de administrar, ya que los entregables se dividen en porciones más pequeñas del alcance de una versión.

El enfoque genérico de Scrum, por otro lado, define sprints en lugar de iteraciones y lanzamientos que pueden tardar entre 2 y 4 semanas. Por lo tanto, el desarrollo de software con Scrum no implica necesariamente lanzamientos y planificación de lanzamientos, pero puede haber lanzamientos de Scrum en la práctica (lea más a continuación).

Sin embargo, los requisitos también se administran en listas priorizadas: el backlog de sprint y el backlog de productos son listas que son priorizadas dinámicamente por el propietario del producto.

¿Qué es una Versión Candidata en Agile?

Una versión candidata se define comúnmente como una versión de software o un conjunto de características que es funcional pero no está lista para ser comercializada, por ejemplo, para finalizar las pruebas y recibir comentarios de los usuarios (fuente).

En la planificación ágil de versiones, una versión candidata a menudo puede referirse a una característica que se ha desarrollado, es básicamente funcional y está en proceso de prueba dentro de una iteración. Una vez que se ha probado completamente y se han corregido todos los errores, se pasa a ser incluido en la versión general.

Si las versiones candidatas fallan en una iteración, su corrección de errores y finalización a menudo se realiza en la iteración posterior.

¿Qué es Agile Release Planning?

La planificación ágil de versiones se refiere a la configuración del alcance y el cronograma de un proyecto de desarrollo de productos iterativo o incremental. Se utiliza en proyectos ágiles o híbridos donde se requiere una planificación a medio y largo plazo del desarrollo o la integración del producto o sistema.

Planificación de versiones ágiles en el contexto de la visión del producto y la hoja de ruta, versiones e iteraciones / planes de iteración
Descripción general de la Planificación de versiones ágiles.

La planificación ágil de versiones a menudo se ve como el proceso de crear el panorama general que vincula la visión y la hoja de ruta del producto con el calendario de versiones y la versión con iteraciones que, a su vez, utilizan un plan de iteración que define características y tareas en un nivel más detallado.

El término se menciona en el Cuerpo de Conocimientos de Gestión de Proyectos del PMI como una técnica bajo el proceso de «Programación de desarrollo»(PMBOK®, 6a ed, ch. 6.5.2.8). Aunque el PMBOK tiende a centrarse en los enfoques de gestión de proyectos más predictivos y tradicionales, esta técnica se introduce en el marco de trabajo de PMI para considerar proyectos ágiles basados en iteración.

El término «ágil basado en iteración» se define en la Guía de Práctica Ágil de PMI (cap. 5.2.6). Implica la planificación inicial (aproximada) de iteraciones, que son partes de una versión. Cuando se conoce más información que permite una proyección más precisa, los equipos ágiles vuelven a planificar sus iteraciones para tener en cuenta este refinamiento. Esto también puede requerir ajustes en el plan de liberación.

¿Cómo se Utiliza la Planificación Ágil de Lanzamientos en la Práctica?

La planificación ágil de versiones puede servir para varios propósitos, dependiendo del enfoque de proyectos y los requisitos organizacionales

Aquí hay algunos ejemplos:

Planificación de versiones en Proyectos ágiles

En enfoques ágiles y proyectos que utilizan versiones e iteraciones, la planificación de versiones es una técnica para implementar la hoja de ruta del producto que se deriva de la visión del producto. La hoja de ruta del producto contiene los requisitos de alto nivel divididos en versiones.

El plan de lanzamiento establece el número de iteraciones dentro de una versión. A un nivel más detallado, el plan de iteración define las características que se desarrollarán dentro de una versión.

Mientras que las versiones y los planes de lanzamiento tienen una perspectiva de mediano a largo plazo, las iteraciones son mucho más cortas y, por lo tanto, más limitadas en términos de alcance. Esto facilita el desarrollo ágil y, en particular, el procesamiento de la retroalimentación y los cambios a corto plazo en los requisitos y las características.

Consulte el siguiente gráfico para ver un ejemplo de cómo se realiza la planificación de versiones en marcos ágiles como XP.

Diagrama de flujo de proyectos de Programación Extrema
Ejemplo de Planificación de Versiones e Iteraciones en XP (fuente & crédito: extremeprogramming.org).

La planificación de versiones ágiles se puede realizar manualmente o utilizando software de gestión de proyectos. Por ejemplo, Lucidchart publicó una guía para desarrollar un plan de lanzamiento ágil utilizando su software.

Planificación de versiones en Proyectos híbridos

Además del vínculo mencionado anteriormente entre la hoja de ruta del producto y las iteraciones, los planes de versiones ágiles también pueden ayudar a integrar proyectos de desarrollo ágil en una organización o arquitectura orientada a versiones.

Los requisitos de planificación organizacional y gestión central de lanzamientos están vinculados con iteraciones y desarrollo de productos ágiles a través de la técnica de planificación ágil de lanzamientos
Ilustración de cómo se puede usar la planificación ágil de lanzamientos para cerrar la brecha entre los requisitos de planificación de lanzamientos organizacionales y el desarrollo ágil de productos.

Por ejemplo, se podría desarrollar un sistema orientado al cliente utilizando enfoques ágiles. Sin embargo, ese sistema tendría que integrarse en la compleja arquitectura de TI de la empresa, lo que también implicaría interfaces con otros sistemas. Por lo tanto, el desarrollo y el despliegue de ese sistema orientado a los clientes estarían necesariamente sujetos a la planificación central de la publicación de la organización.

En tales casos, la técnica de planificación de versiones ágiles puede vincular las versiones de la organización a las iteraciones y características que se desarrollan en un (sub)proyecto ágil.

¿Qué es un Plan de lanzamiento Ágil en Scrum?

Un plan de lanzamiento en Scrum representa la asignación de elementos de un producto atrasado (la lista de características y requisitos de un producto) a las versiones. Estas características se desarrollan en sprints.

De acuerdo con los valores y principios de Scrum, un plan de lanzamiento pretende ser una guía y un documento vivo que se actualiza dinámicamente cuando las cosas cambian o se conoce nueva información.

De acuerdo con el Scrum Institute™, un plan de lanzamiento de scrum requiere una cartera de productos priorizada y estimada, el indicador de velocidad del equipo y la «condición de satisfacción» (o definición de hecho) que comprende el objetivo del desarrollo del producto.

En función de las estimaciones de esfuerzo de las características (la cantidad de trabajo necesario) y la velocidad del equipo (la productividad del equipo), las características se pueden asignar a diferentes versiones y sprints.

¿Cuál es la Diferencia entre Lanzamientos, Iteraciones y Sprints?Las versiones

se refieren al desarrollo programado y la implementación de funciones o cambios de software durante un período típico de 1 a 3 (o incluso más) meses. En proyectos ágiles, iterativos y algunos híbridos, las versiones se dividen en varias iteraciones que tienen un alcance más pequeño y un plazo de tiempo más corto, a menudo entre 1 o 2 semanas y 1 mes. En algunos marcos ágiles como Scrum, las iteraciones también se conocen como sprints.

¿Cuánto dura un Sprint en Agile / Scrum?

Un sprint en Scrum suele durar de 2 semanas a 1 mes. Sin embargo, también puede ser más corto o más largo si se considera más apropiado para el proyecto de desarrollo.

Conclusión

Ya sea que trabaje como gerente de proyecto o propietario de producto en un proyecto ágil, iterativo o híbrido, o si se está preparando para su examen PMP, comprender la planificación de versiones ágiles es clave para permitir el desarrollo ágil o basado en iteración en combinación con la planificación de versiones y proyectos a medio y largo plazo. Lea nuestros artículos sobre las otras técnicas de gestión de horarios si desea obtener más información sobre el desarrollo y la gestión de los horarios de los proyectos.

Gracias al plan de lanzamiento ágil, se puede establecer un alcance, sujeto a un mayor perfeccionamiento, y un cronograma con unos meses de antelación. Al mismo tiempo, los equipos de desarrollo ágiles pueden conservar su libertad para planificar y volver a planificar regularmente el alcance exacto de cada iteración. En cierta medida, la planificación ágil de lanzamientos es una técnica que permite a los gerentes de proyecto y propietarios de productos combinar las ventajas de la gestión de proyectos tradicional (por ejemplo, planificación a medio/largo plazo) y los enfoques de proyectos ágiles (por ejemplo, capacidad de respuesta al cambio y retroalimentación).

Deja una respuesta

Tu dirección de correo electrónico no será publicada.