Agil Modelo de Release Planificación

Agil Modelo de release La planificación es una táctica de gestión de proyectos en la que los equipos codifican y release productos en etapas, en lugar de todo en un único impulso de código.

Release los plazos a menudo son fijos, impuestos externamente por cosas tales como ferias comerciales, presiones contables u obligaciones contractuales. Pero dado que el objetivo es poner el software en funcionamiento en manos de los usuarios lo más rápido posible para hacer "correcciones de rumbo" lo antes posible, se hace todo lo posible para mantener release ciclos de desarrollo de software lo más cortos posible. Ágil release los ciclos ciertamente deben ser más cortos que un año, y a menudo son tan cortos como seis meses o tres meses. A release está, a su vez, formado por iteraciones. Para un proyecto determinado, la duración de la iteración normalmente se fijará entre una semana y un mes. Si el release es en seis meses y las iteraciones van a ser de dos semanas cada una, el release constará de 13 iteraciones.

En algunos entornos, el software se puede entregar a los usuarios, o al menos a un subconjunto de usuarios, de forma incremental al final de cada iteración o cada par de iteraciones. Después de identificar, priorizar y estimar potencialmente una lista inicial de características, el equipo tiene una release reunión de planificación para establecer el release programar y determinar qué funciones es probable que se entreguen. El general release El plan en términos de características priorizadas se usa luego para alimentar directamente los planes de iteración individuales.

Algunos métodos ágiles enfatizan una clara separación de responsabilidades entre programadores y clientes. Durante la planificación, solo el cliente es responsable de las decisiones comerciales y la priorización y solo los programadores son responsables de la estimación de tareas y la ejecución del desarrollo. Métodos ágiles También desalentar fuertemente a la gerencia de imponer caprichosamente opciones tecnológicas al grupo de desarrollo, dando a los desarrolladores tanta libertad como sea posible para elegir las mejores herramientas para el sistema y el proyecto.

Preliminar release planificar

El objetivo inicial release la planificación es estimar aproximadamente qué características serán entregadas por el release fecha límite (suponiendo que la fecha límite sea fija), o para elegir una fecha aproximada de entrega para un conjunto determinado de características (si el alcance es fijo). Usamos esta información para decidir si el proyecto producirá o no suficiente ROI para al menos pagar por sí mismo y, por lo tanto, si debemos continuar o no.

Inicial release las reuniones de planificación rara vez duran más de un día, o dos medios días si no puede soportar permanecer en una reunión durante todo el día. Primero, el cliente presenta las características prioritarias que se entregarán. Idealmente, los desarrolladores ya han ideado estimaciones aproximadas de cuánto trabajo se requiere para implementar cada una de esas características.

Utilizando las estimaciones de los desarrolladores y las prioridades de características del cliente, el equipo establece un release plan, asignando características muy aproximadamente a las primeras iteraciones. Los desarrolladores pueden encontrar que las características de prioridad bastante baja plantean riesgos arquitectónicos o de diseño y, por lo tanto, pueden pedir a los clientes que consideren asignarlas a iteraciones anteriores de todos modos, para abordar esos riesgos potenciales lo antes posible en el proyecto.

Es de gran ayuda si la velocidad del equipo de desarrollo en un release ya se sabe En ese caso, si el alcance es fijo, divide la estimación total de todas las funciones requeridas por la velocidad del equipo para proporcionar el número aproximado de iteraciones necesarias para entregar la funcionalidad y, por lo tanto, la fecha límite. Si la fecha límite es fija (como suele ser habitual), multiplique la velocidad por el número de iteraciones para tener una idea inicial de cuántas funciones se pueden entregar. Si no se conoce la velocidad del equipo de desarrollo, entonces deben proporcionar una estimación y la release debe entenderse que el plan es menos preciso durante las primeras iteraciones, hasta que se pueda derivar un número de velocidad confiable.

Preliminar release plan

La primera release El plan rara vez satisface a todas las partes: no se entregará suficiente funcionalidad o parece que se necesita demasiado tiempo para entregar la funcionalidad deseada. Pero en el mundo ágil, el equipo ve estas duras verdades a la cara y desarrolla un plan de desarrollo de software en torno a ellas. Nadie cree en los milagros de alcance que satisfarán a todos. En lugar de practicar la negación colectiva, el equipo utiliza métricas reales y negociación para tomar decisiones difíciles lo más cerca posible del inicio del proyecto.

Los líderes de opinión ágiles están de acuerdo en que, si bien es posible para ajustar el alcance, el plazo, los recursos y la calidad de un proyecto determinado, las únicas variables que responden bien al ajuste son el plazo y el alcance. Una amplia investigación ha demostrado que los equipos más grandes tienden a entregar sistemas de menor calidad más lentamente, mientras que los equipos más pequeños tienden a entregar sistemas de mayor calidad más rápido. De hecho, puede ser necesario agregar programadores a un equipo, pero es probable que eso reduzca la velocidad del equipo durante al menos un tiempo, no que lo acelere. Una vez que aceptamos estos hallazgos, aceptamos que en nuestro release planificación, debemos ajustar el alcance o la fecha límite para producir un release plan que los patrocinadores, clientes, desarrolladores, gerentes y otras partes interesadas acuerdan que es factible. El hecho de que el equipo tome estas decisiones difíciles por adelantado reduce el riesgo general para el proyecto. Aumenta las posibilidades de que el equipo produzca un conjunto de funciones que devuelva la inversión de las partes interesadas de manera más que adecuada antes de la fecha límite.

Planificando el release continuamente

La primera release se entiende que el plan es tosco. Debe ser lo suficientemente detallado solo para que podamos comenzar, prediciendo que el proyecto generará suficiente retorno de la inversión para pagarlo con creces. (Si la inicial release plan predice un ROI que es demasiado bajo para justificar el proyecto, entonces podemos cancelar el proyecto antes de que desperdiciemos mucho dinero). En los proyectos ágiles, planificamos continuamente y corregimos nuestro curso a medida que avanzamos. Uno de los principales mecanismos para corregir el rumbo es permitir que el release plan para evolucionar en respuesta a todo tipo de comentarios. Tomará al menos un par de iteraciones para que la velocidad del equipo se estabilice. A veces, las iteraciones ofrecen menos funcionalidad de la prevista y, a veces, más. Las características, las opciones arquitectónicas, las opciones de diseño o las opciones de marco o tecnología pueden resultar demasiado riesgosas o simplemente inviables. La interfaz de usuario puede requerir revisión. El personal puede perderse o agregarse. Las prioridades de las funciones pueden cambiar. Todos estos factores nos ayudarán a revisar y refinar el release planificar continuamente. Cuando se publica cada nuevo plan de iteración, también debería release plan que refleje la nueva realidad.

Puesta en marcha y finalización

Muchos equipos ágiles planean entregar solo una pequeña cantidad de funcionalidad en la primera iteración (a menudo llamada "iteración 0"), para permitir explícitamente resolver los problemas técnicos y logísticos iniciales, y quizás también enfatizar la arquitectura de principio a fin. Esto puede ser crítico para los equipos que tienen poca o ninguna experiencia ágil. Para un equipo sin una buena métrica de velocidad, esto podría significar que solo al final de la segunda o tercera iteración la velocidad se vuelve estable y confiable.

Algunos equipos también programan hasta dos iteraciones al cierre del proyecto para la estabilización, la integración y las pruebas de todo el sistema, la corrección de errores y la finalización de la documentación del usuario. En un proyecto ágil ideal, esto no sería necesario, pero en el mundo real depende de las prácticas ágiles específicas que sigue el equipo, la estructura organizacional, la complejidad general del sistema, los entregables sin código que se esperan del equipo, la complejidad del sistema deployment, y factores similares.

Preguntas Frecuentes

¿Realmente necesito usar releasesy una release ¿plan?

Algunos equipos pueden arreglárselas sin planificación ágil en el release nivel. Por ejemplo, un ASP puede simplemente entregar software a producción en cada iteración (es decir, cada pocas semanas), por lo que cada iteración es efectivamente un release y la planificación ágil simple por iteración puede ser suficiente. Si, por el contrario, la gestión requiere algún nivel de visibilidad en el software release Management nivel (es decir, progreso, estado, cambio del plan de desarrollo de software inicial, etc.), luego releasela planificación y la gestión a nivel general pueden ser invaluables.

Que tan grandes son releases?

ReleasePor lo general, oscilan entre dos y 12 meses. A lo largo releases, puede tener sentido dividirlo en varios sub-releases.

¿Cuántas iteraciones hay en un release?

El número de iteraciones dentro de un release generalmente es impulsado por el cronograma. si un release tiene una duración de seis meses y las iteraciones son de dos semanas, entonces se deben programar 13 iteraciones para el release.

Quien participa en release ¿planificación?

Para equipos más pequeños, puede tener sentido que todo el equipo interdisciplinario participe tanto con fines de aporte como de rendición de cuentas. Para equipos y organizaciones más grandes, se puede seleccionar o elegir un subconjunto del equipo para que lo represente.

Cuánto tiempo release ¿Las reuniones de planificación duran?

Release las reuniones de planificación suelen durar entre cuatro y ocho horas.

¿Cuánto trabajo se realiza en la preparación de un release ¿reunión de planificación?

En general, se ha hecho bastante trabajo antes de una release reunión de planificación en términos de aprobación del proyecto, presupuesto, visión, identificación del equipo, etc. Con respecto a la funcionalidad, es probable que el cliente haya pasado tiempo trabajando con el desarrollo para identificar las características iniciales, así como potencialmente para desglosarlas y proporcionar soluciones iniciales de alto nivel. estimaciones de nivel.

¿Tiene el release cambio de plan durante el release?

A medida que se descubre más información, se entrega funcionalidad, se entiende más sobre el sistema, las necesidades comerciales evolucionan y las prioridades cambian, la composición general del release casi definitivamente cambiará. Aunque anticipada, la evolución del software release la gestión a lo largo del tiempo deberá comunicarse a todas las partes interesadas correspondientes.