sábado, 2 de febrero de 2019

Rituales o Eventos de SCRUM


La dinámica de SCRUM se implementa a través de ceremonias o rituales caracterizadas por eventos de duración predeterminada (Time-box), que le dan al desarrollo un ritmo sostenible, con entregas frecuentes de software valioso y oportunidades frecuentes de inspección, adaptación y transparencia. Cada evento en forma de reunión, tiene un objetivo con una duración máxima que depende del tamaño del Sprint, que se puede acortar si se logra antes dicho objetivo. Solo el Sprint tiene una duración fija. El SCRUM Master se asegura que el equipo comprende, realiza y logra el objetivo de cada evento en el tiempo especificado.

Los rituales de SCRUM mejoran la comunicación entre los miembros del equipo y con ello su nivel de conocimiento, asimismo, promueven el cumplimiento del objetivo del Sprint ya que facilita procesos ágiles de aprendizaje, toma de decisiones y solución de problemas.
El Sprint es el núcleo de SCRUM en el que se desarrolla y entrega un incremento del producto. Tiene una duración entre 1 y 4 semanas, siendo 2 o 3 semanas la duración más común. Considerando la complejidad del desarrollo, la volatilidad del negocio, la tecnología y la madurez del equipo,  el equipo SCRUM decide el tamaño fijo que tendrán los Sprint. Si la meta fijada para el Sprint se logra antes, o no se pudiese alcanzar, el equipo podría ajustar el alcance del Sprint, pero no se modifica su tiempo de duración. Cada Sprint contiene los demás eventos.

Los eventos de SCRUM incluyen: la reunión de Planificación del Sprint (Sprint Planning Meeting), las reuniones Diarias (Daily Scrums), la Revisión del Sprint (Sprint Review) y la reunión de Retrospectiva (Sprint Retrospective). Adicionalmente, el equipo puede realizar 1 o 2 reuniones de Refinamiento del Product Backlog (Product Backlog Refinement o Grooming) para colaborar con el Product Owner en el mantenimiento y detalle del Product Backlog.

En el Sprint Planning todo el equipo colabora para seleccionar los PBI (Product Backlog Item) priorizados que se desarrollarán durante el Sprint y fijar la meta del mismo. Los PBI deben ser lo más independientes posible, los más dependientes podrían agruparse en uno. 
El Sprint Planning dura máximo 8 horas en Sprint de un mes. Se divide en 2 partes, la primera donde el Product Owner explica los detalles funcionales de los PBI prioritarios, responde las preguntas del equipo de desarrollo y junto al equipo se seleccionan los PBI a desarrollar y la meta del Sprint. En la segunda parte, se suele retirar el Product Owner, y el equipo acompañado del Scrum Master, establece cómo se realizará el trabajo, define un diseño general, identifica tareas técnicas y llega a acuerdos de alto nivel que se detallarán durante el desarrollo del Sprint. El resultado del Sprint Planning es el Sprint Backlog que se coloca en una pizarra de tareas (Taskboard), física o digital, visible para todos.

El Equipo de Desarrollo es quien realiza la estimación de esfuerzos. Puede utilizar la técnica de Planning Poker para realizar una estimación inicial por consenso donde cada miembro  comparte su opinión y estimación. También se suele utilizar información sobre la velocidad y capacidad productiva del equipo obtenida en Sprint anteriores. En SCRUM la estimación es un pronóstico  potencial que se basa en el compromiso que adquiere el equipo para lograr el objetivo del Sprint.

Las reuniones Diarias (Daily Scrums), son reuniones cortas que el equipo de desarrollo debe realizar todos los días, de solo 15 minutos, para asegurar la comunicación, coordinación de actividades y la colaboración entre los miembros del equipo. Los Daily permiten al equipo evaluar actividades, compartir dificultades y tomar decisiones de planificación, en tiempo real, promoviendo los pilares de Scrum de Transparencia, Inspección y Adaptación.

Se realizan siempre a la misma hora y en el mismo lugar. Es conducida por el Equipo de Desarrollo, el Scrum Master puede facilitar la dinámica para garantizar se mantenga la reunión dentro de su propósito y duración. Puede asistir el Product Owner y otros involucrados en calidad de observadores, sin embargo, no deben intervenir en la discusión, ni solicitar justificación del progreso o explicaciones a los problemas. No se debe usar para dar Status a ninguno de los roles.

Cada miembro del equipo de desarrollo responde a 3 preguntas: 1. ¿Qué hice desde el último daily? 2. ¿En qué voy a estar trabajando?, y 3. ¿Qué problema o impedimento tengo para alcanzar el objetivo?.  Los problemas no se resuelven en el daily, sino en revisiones posteriores. El Scrum Master asegura que estas revisiones se realicen a la brevedad y los problemas sean resueltos con prontitud.

Al finalizar el Sprint se realiza una reunión de revisión (Sprint Review), donde el equipo de desarrollo presenta al Product Owner e involucrados, el resultado funcional del incremento. Estos lo aceptan o rechazan dando retroalimentación al equipo de desarrollo. Si el elemento (PBI) es rechazado, reingresa al Product Backlog con alta prioridad, para ser tomado en el próximo Sprint; a menos que el Product Owner cambie la prioridad del elemento. El Scrum Master facilita la reunión, asegurando que cumpla su objetivo dentro del tiempo estimado, que en Sprint de un mes, es máximo de 4 horas.

Luego del Sprint Review y antes del Sprint Planning del próximo Sprint, se realiza una reunión de Retrospectiva (Sprint Retrospective), que permite al equipo reflexionar sobre cómo se realizó el trabajo, identificar y analizar los acontecimientos positivos y negativos para el cumplimiento del objetivo del Sprint. El resultado principal de esta reunión es lograr en consenso acciones de mejora para ser implementadas en el próximo Sprint, asegurando con ello la mejora continua y la implementación de prácticas emergentes en los procesos del equipo de desarrollo. Estas acciones y su impacto se revisan en la próxima reunión de retrospectiva. Cómo en los otros eventos, el Scrum Master facilita la reunión, asegurando que cumpla su objetivo dentro del tiempo estimado, que en Sprint de un mes, es máximo de 3 horas.

Por último, a fin de mantener el Product Backlog priorizado y los PBI próximos a desarrollarse detallados, el Product Owner y el Equipo de desarrollo suelen ejecutar 1 o 2 reuniones de refinamiento (Product Backlog Refinement o Grooming) en cada Sprint, donde se añaden, retiran, detallan y estiman los elementos del Product Backlog del siguiente Sprint. Es una reunión corta, generalmente de 1 hora, conducida por el Product Owner, con el apoyo del Scrum Master quien asegura que la reunión cumpla su objetivo en el tiempo establecido.

Un aspecto de gran relevancia para el éxito de cualquier proyecto de desarrollo de software, es la forma en que se describen los requerimientos o requisitos del producto en el Product Backlog, siendo la técnica más utilizada las historias de usuario. Sobre este tema escribiré en el próximo artículo.

Gracias por leerme.-

No hay comentarios:

Publicar un comentario

Gracias por tus comentarios :)