Con qué frecuencia te sueltas durante un sprint. Solo al final del sprint o cada vez que una característica está lista. ¿Y cómo manejas las versiones de corrección de errores?
scrum
release-management
sangre esquimal
fuente
fuente
Respuestas:
TL; DR: liberar siempre que sea apropiado
Hacemos lanzamientos siempre que haya valor en hacer un lanzamiento. A veces, eso significa hacer una versión después de que se complete una sola función o corrección de errores. A veces eso significa lanzar una colección de características y / o correcciones de errores.
Esto no significa que a menudo tenemos "emergencias" que requieren lanzamientos rápidos. Significa que hemos trabajado duro para facilitar los lanzamientos. Nuestro código se prueba, etiqueta y empaqueta con cada compilación. Utilizamos pruebas de aceptación automatizadas y, como resultado, hemos desarrollado una gran confianza en el código que pasa sus pruebas. Dado que nuestros paquetes están disponibles de inmediato a través de un repositorio local de yum, la implementación de una versión es trivial.
fuente
Nunca durante Eso viola la premisa básica de un "sprint". Corres hasta que terminas lo que te comprometiste a terminar. Después de que termines, ya está hecho y realmente funciona. Luego puedes liberarlo.
El lanzamiento puede ser un tipo separado de sprint donde las cosas se empaquetan para su lanzamiento.
Las versiones de corrección de errores pueden ser solo carreras cortas. Muchos no consideran que tener un horario regular de sprints de la misma longitud sea una mala idea. Por lo tanto, la regla habitual es que las correcciones de errores son simplemente un trabajo de alta prioridad que ocurre durante el próximo sprint.
Si se trata de una emergencia, tiene demasiadas cosas en marcha, soporte y desarrollo, y debería considerar cambiar la organización para que sucedan menos cosas.
fuente
Si el trabajo al que se compromete el equipo es propicio para realizar múltiples lanzamientos dentro del sprint, libérelo con la frecuencia que desee.
Lo mismo ocurre con las versiones de reparación de defectos: si tiene sentido liberarlas, hágalo.
fuente
El último trabajo ágil en el que trabajé tenía lanzamientos cada sprint; el código se congeló cada dos jueves (sprints de dos semanas), y luego el producto fue empaquetado y publicado en un servidor UAT para que nuestros clientes trabajen. Esto fue durante el desarrollo inicial del producto; para un producto maduro, especialmente un programa distribuible y no una aplicación web, es probable que no desee cargar a sus usuarios con la actualización cada dos o tres semanas.
Prácticamente todos nuestros lanzamientos incluyeron una mezcla de puntos de historia y defectos (errores). Defectos contados como "horas no ideales"; Hay 5 horas ideales en un día de trabajo, lo que significa una codificación directa del nuevo trabajo puntual. Las otras tres o cuatro horas al día son reuniones, discusiones, diseño, a veces "picos" (investigación enfocada / desarrollo de prueba de concepto) y trabajo defectuoso; cosas que contribuyen a un mejor producto y son una parte necesaria del proceso, pero que simplemente no pueden ocupar todo el sprint de todo el equipo. La única vez que hicimos lanzamientos solo con defectos fue cuando no había trabajo de punto de historia disponible en la cartera de pedidos a partir de un IPM; luego simplemente programamos un sprint de control de calidad donde se nos indicó que "elimináramos tantos defectos como sea posible". Debido a que no tener requisitos listos para cumplir SIEMPRE es culpa de la OP (y la OP funcionó para los clientes), simplemente podríamos emitir un aviso de cambio de contrato y trabajar con lo que teníamos. Por supuesto, una vez que el trabajo real de la historia terminó y estuvimos en el desarrollo de la "garantía", los defectos eran todo lo que había.
En un proyecto ágil bien administrado, el agotamiento de los requisitos nunca debería suceder; el trabajo atrasado siempre debe tener un sprint de trabajo listo para comenzar. Pero, a veces, el PO se ve inundado por los requisitos de producción; a veces, los BA / evaluadores retrasan la publicación de historias en la cartera de pedidos de desarrollo, por razones relacionadas con la calidad de los requisitos o conflictos de historias; a veces un equipo decide que tienen que "punt" en una historia que no estaba bien definida o bien estimada, y no hay nada que pueda tomar fácilmente los ciclos restantes. En resumen, incluso en Agile, sucede una mierda.
fuente
¿Qué quieres decir con lanzamiento? Si te refieres a PSP, probablemente producto enviable, tienes dos opciones:
La principal diferencia entre el nivel 2 y el nivel 3 es que en el nivel 2 debe hacer un esfuerzo para hacer la PSP final al final del sprint, pero en el nivel 3 inicialmente pone algo de dinero y esfuerzo en sus herramientas y configuraciones y tiene la PSP preparada automáticamente todo el tiempo = no hay esfuerzo manual involucrado. Alcanzar completamente el nivel 3 es raro.
fuente
No hay absolutamente ninguna regla en Scrum sobre cuándo se pueden implementar nuevas funciones. Cada equipo necesita tener una "definición de hecho", que siempre debe incluir algunos criterios sobre las pruebas. Una vez que una función está "lista", está lista para el mundo real y si no hay otras dependencias o condiciones que deban cumplirse antes de que pueda implementarse, entonces no hay razón para esperar el final del Sprint para desplegarlo.
Ninguno de los cuales significa que no se presentó en la reunión de Revisión / Planificación de Sprint. El concepto es que todo lo que el Equipo ha completado se muestra a la OP (y a otras PYME del cliente) para que puedan incorporarlo en su creciente comprensión del sistema a medida que evoluciona.
fuente
Después de un par de semanas, encontramos una buena solución que se adapta a nuestras necesidades. Decidimos lanzar cuando queramos. Cómo hacemos eso:
Eso es. Utilizamos git y maven como sistema de CI y tenemos una buena cobertura de prueba. Cuál es una de las razones por las que podemos hacer esto.
fuente
Responder una pregunta que tiene casi 2 años puede ser un poco redundante, pero con suerte para agregar valor a otros que vienen a esta pregunta, me gustaría agregar un 2cent más o menos. :)
Para responder a la pregunta: preferiblemente debe liberar lo que se comprometió en el sprint, al final de ese sprint. Al hacerlo, se vincula con todas las otras partes / procesos / pautas de scrum que están orientados a obtener el mejor valor comercial en el momento adecuado.
PERO las emergencias, los errores, los eventos inesperados, etc. pueden forzar su mano, que es donde el concepto de "Planificación de la liberación" podría ser útil. Con "Planificación de lanzamiento" no me refiero a la planificación de tipo cascada, sino más bien a la planificación de expectativas que podrían ayudar a gestionar la acumulación de productos y la prioridad de las historias en sprints ect.
Pero quizás el comentario de David sobre la pregunta es algo a tener en cuenta. Scrum no siempre es la respuesta correcta.
fuente