Scrum es un framework ágil que contiene una serie de pasos que ayudan a realizar un proceso de forma ágil y con resultados de calidad.
Al momento de iniciar un proyecto, las primeras preguntas que nos hacemos son: ¿cómo iniciamos?, ¿por dónde?, ¿qué proceso seguimos en el día a día?”. Todos esos interrogantes las resuelve Scrum.
Scrum es un framework ágil que contiene una serie de pasos que ayudan a realizar un proceso de forma ágil y con resultados de calidad.
Este framework te invita a tomar el proyecto que tienes en mente y detallarlo a través de historias de usuario, que ayudan a conocer con profundidad todo el espectro del proyecto. Una vez realizadas, se define cuáles de esas historias generan valor al producto de manera inmediata.
Uno de los aspectos más resaltantes del framework es que ayuda a la corrección de errores o a la adaptación de cambios en tiempos muy cortos.
Esto se debe a que los tiempos de entregas (sprints) se pautan entre 15 o 30 días. Lo ideal es que se realicen en máximo 15 días, ya que se puede reducir el espectro de errores o cambios en ese tiempo.
El paso siguiente, es tomar esas historias de usuarios que definimos en principio y dividirlas en sprints para entregar el mayor valor posible al producto, tomando en cuenta la velocidad del equipo de trabajo y la complejidad de las historias.
Los actores que podemos encontrar en el equipo del proyecto haciendo uso del framework son:
Product owner:
Es la persona que sabe las necesidades, conoce el negocio de pies a cabeza y junto con él se definen las prioridades del proyecto.
Scrum master:
Conoce todo el seguimiento del proyecto, se encarga de coordinar las reuniones, se preocupa por el rendimiento del equipo, ayuda a quitar obstáculos que puedan presentarse durante el trabajo y hace de muro de contención para cuando llegan las presiones externas.
Scrum team:
Es el equipo conformado por el grupo de desarrolladores que se encarga del cumplimiento de las actividades del proyecto.
Usuarios o stakeholders:
Son las personas para quienes esta dirigido el proyecto, es decir, los usuarios finales que utilizarán el producto que estamos desarrollando. Como lo indica su término en inglés, son “las partes interesadas”.
Los componentes o las herramientas de los cuales se hace uso durante el proceso de Scrum son los siguientes:
Product backlog:
Las historias de usuarios deben detallarse en actividades para conocer más a fondo la complejidad de cada una. Cuando estén detalladas, se procede a puntuar cada historia.
¿Qué se toma como base al momento de puntuar? La idea es conseguir la historia más sencilla dentro de las que tenemos. No significa necesariamente la más fácil de realizar, sino la que todos los miembros del equipo sepan cómo hacerla para que esta se convierta en el común denominador.
Puntuar es una actividad que se realiza dentro del proceso de Scrum y nos ayuda a dar puntuaciones altas a historias complejas y bajas a historias más sencillas. Con base en eso podremos conocer la cantidad de puntos que puede realizar una persona y a su vez la velocidad del equipo.
Y a fin de cuentas, ¿qué es el product backlog?
Bien, tener todas estas historias priorizadas, detalladas en actividades y puntuadas nos entregará nuestro product backlog, que en términos más coloquiales podría definirse como el conjunto de requerimientos detallados a niveles muy específicos.
Sprint backlog:
Si el product backlog es nuestras historias detalladas de todo el proyecto como tal, el sprint backlog no es más que la cantidad de historias detalladas que vamos a producir o realizar durante el sprint.
Es tomar del product backlog la cantidad de historias que es capaz de producir el equipo en ese periodo de tiempo. Por tanto, la suma de los puntos de esas historias son los puntos que el equipo se compromete a realizar durante ese tiempo, de esa manera se va conociendo la velocidad del equipo de sprint en sprint.
Burndown chart: en el día a día en que estamos desarrollando nuestro sprint con todas nuestras actividades debemos informar al product owner sobre los avances para que tenga conocimiento de cómo está el proceso.
El burndown chart
Es una gráfica que nos permite conocer el avance del equipo. Ella cruza los días del sprint contra los puntos prometidos. De esa forma, el product owner puede estimar si el desarrollo va lento o si, por el contrario, el equipo puede producir más puntos del que se comprometió en este sprint.
Hasta ahora, conocemos quiénes intervienen en el proceso, sus componentes, y tenemos una noción básica sobre Scrum. Como todos los procesos están estructurados en pasos, veamos los pasos o ceremonias que contempla Scrum al momento de implementar:
Sprint planning:
Esta ceremonia consiste en una reunión con los miembros del proyecto. Los únicos de los que se puede prescindir en esta reunión serían los stakeholders.
En ella se toman todas las historias de usuarios ya priorizadas previamente y se decide sobre cuáles de estas se realizarán en el sprint. Se reparten las actividades entre los miembros del equipo y se establece la cantidad de puntos con las que se va a comprometer el equipo en ese sprint.
Daily Scrum:
Es un proceso iterativo que se realiza diariamente con todos los integrantes del equipo de trabajo, una reunión de máximo 15 minutos (algunos suelen usar 30 minutos), en la que se discute el desarrollo que ha tenido el sprint y solo se permite responder tres preguntas a cada integrante del equipo:
¿Qué ha realizado desde el último daily? ¿Qué va a realizar hoy? ¿En qué tiene obstáculos? ¿O en qué le puedo ayudar el equipo?
Sprint review
Una vez finalizado el sprint, se les muestra tanto a los stakeholders como al product owner el trabajo realizado. Ellos van a poder apreciar de manera material las historias de usuario que el equipo se comprometió a realizar en el planning. En este momento, se realizan todas las pruebas de la entrega y se toma nota de los posibles ajustes que puedan llegar a surgir.
Sprint restrospective:
Una vez aprobado y luego de hacer los cambios pertinentes indicados por el cliente, se elabora otra ceremonia conocida como sprint restrospective, en la que el equipo indica los puntos positivos del desarrollo para volverlos a implementar y los puntos negativos para no volver a cometerlos. En síntesis, es responder qué hicimos bien, qué hicimos mal y en qué podemos mejorar.
Scrum es un proceso interactivo, en el cual sus interacciones dependen de la cantidad de sprint dispuestos para un proyecto. Este framework no es el único ni el ideal, pero es uno de los que está tomando más fuerza en estos días debido a los buenos resultados que se obtienen con él.
En el mundo ágil existen también otras herramientas que pueden ayudar a mejorar la capacidad y calidad de producción de un proyecto que se realiza con Scrum. Algunas las podremos detallar en próximos episodios.