Tanto los conceptos como las prácticas de Scrum, son útiles conocer para poder hacer un uso eficiente y eficaz de #Azure #DevOps. En el siguiente artículo te muestro parte de todo lo que tiene publicado en sus páginas oficiales Microsoft Azure DevOps.
Como #testers debemos conocer y aprender acerca de las prácticas ágiles ya que los proyectos van en este sentido y si no cuentas con conocimientos de #scrum y de #agiletesting es tiempo que comiences a pensar en formarte para estar no sólo actualizado sino además bien posicionado en el mercado laboral.
Hay certificaciones para scrum de varias entidades reconocidas en el mercado, así como también certificaciones para nuestra práctica de #testing: #istqb foundation level & #agile #testing, entre otras dentro de su portfolio.
Puedes visitar el sitio oficial #hastqb donde podrás encontrar mucha información.
¿Qué es Scrum?
Scrum es un marco de trabajo utilizado por los equipos para gestionar su trabajo implementando los principios de Agile mediante artefactos, prácticas y roles.
Ciclo de vida de Scrum
El siguiente diagrama muestra el ciclo de vida iterativo de Scrum, el cual se produce a través de períodos de tiempo fijos llamados Sprints que suelen durar de 2 a 4 semanas.
Roles de Scrum
Scrum define tres roles específicos: el Product Owner (Dueño del producto), el Scrum Master y el Scrum Team.
Product Owner
Es responsable de lo que está construyendo el equipo y por qué lo está construyendo. Se ocupa de mantener el Backlog (trabajo pendiente) actualizado y en orden de acuerdo con las prioridades que se vayan estableciendo, ya que el negocio siempre es el mandatario.
Scrum Master
Responsable de garantizar que el equipo siga el proceso de Scrum. Los Scrum Masters están continuamente atentos a cómo el equipo puede mejorar, al mismo tiempo que resuelven impedimentos y otros problemas de bloqueo que surgen durante el Sprint. Los Scrum Masters son parte coach, parte miembro del equipo y hasta parte animadora.
Scrum Team
Sus miembros son los encargados de construir el producto (sea cual fuere). El equipo es dueño de la ingeniería del producto, como así también de su calidad.
Product Backlog
Es una lista emergente, ordenada y priorizada de lo que se necesita para mejorar el producto. El Product Owner es responsable de todo lo que se vaya acumulando, agregando y/o cambiando sus elementos, como así también definir/redefinir las prioridades según sea necesario. Los elementos en la parte superior de la lista siempre deben estar listos para que el equipo los ejecute.
Sprint planning y Sprint backlog
En la planificación del sprint, el equipo elige los elementos de la lista de trabajos pendientes en los que trabajarán para el próximo sprint. El equipo elige los elementos de la lista de trabajos pendientes según la prioridad y lo que creen que pueden completar en el sprint. El sprint backlog es la lista de elementos que el equipo planea entregar en el sprint. A menudo, cada elemento de la lista de trabajos pendientes del Sprint se divide en tareas. Una vez que todos los miembros están de acuerdo en que se puede lograr, comienza el sprint.
Ejecución de sprint y scrum diario
Una vez que comienza el sprint, el equipo ejecuta el sprint backlog, decidiendo cómo lo ejecuta. Scrum define una práctica llamada scrum diario, a menudo llamada daily standup. La daily meeting (habitualmente llamada sólo ‘daily’) es una reunión diaria limitada a quince minutos. Se propone que durante la reunión los miembros del equipo estén de pie para asegurar que la misma sea breve. Cada miembro del equipo informa brevemente cuánto ha progresado desde el día anterior, sus planes para el día y cualquier impedimento que vea que tendrá o que tiene.
Actualmente, y por la situación que se vive de pandemia en el mundo, hay ciertos aspectos de esta práctica que se han visto modificados como se podrá comprender.
Para hacerla más fluida la daily, los equipos suelen revisar dos artefactos:
Task Board
Ofrece una manera visual de seguir el progreso de cada elemento del backlog, enumerando cada elemento del backlog en el que está trabajando el equipo, desglosado en las tareas necesarias para completarlo y ubicándolas en las columnas To do, In progress y Done según sea su estado.
Sprint burndown
Es un gráfico que traza el total diario de trabajo restante expresado en horas, proporcionando de esta forma un estado de situación para que el equipo vaya sabiendo si está en camino de completar todo el trabajo al final del sprint.
Release Burndown
Bug Burndown
Revisión de Sprint y retrospectiva de Sprint
Al final de cada sprint, el equipo realiza dos prácticas:
Sprint review
El equipo demuestra lo que han logrado a las partes interesadas, mostrando el producto y demostrando su valor.
Sprint retrospective
El equipo se toma un tiempo para reflexionar sobre lo que salió bien y qué áreas necesitan mejorar para convertirlas en acciones para el próximo sprint.
Increment
El producto de un sprint se denomina incremento o incremento potencialmente usable, debiendo cumplir con todos los criterios de calidad establecidos por el equipo y el product owner.
Dinámica: Repetir + Aprender + Mejorar.
El ciclo completo se repite para el siguiente sprint. Durante el sprint planning se seleccionan los siguientes elementos del product backlog y el ciclo se repite. Mientras el scrum team ejecuta el sprint, el product owner se asegura de que los elementos en la parte superior del backlog estén listos (y debidamente priorizados) para ejecutarse en el siguiente sprint.
Este ciclo iterativo más corto proporciona al equipo muchas oportunidades para aprender y mejorar. Este ciclo iterativo e incremental es la esencia de Agile.