Hoy hablemos de scrum [episodio 1]: nociones básicas

14 de julio de 2016
4 min. de lectura

Con esta entrada estamos dando inicio a una nueva serie denominada “Hoy hablemos de scrum”. Trataremos de ser bastante concretos en los temas para cumplir los aspectos más importantes del framework con el mejor detalle posible.


¿Qué es scrum?

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?”. Todas esas interrogantes las resuelve scrum de alguna manera. Scrum es un framework ágil que contiene una serie de pasos que ayudan a realizar un proceso siendo ágiles y con resultados de calidad.

Scrum te invita a tomar el proyecto que tienes en mente y detallarlo en requerimientos. Estos requerimientos son conocidos como historias de usuario; estas historias son las que van a ayudar a conocer profundamente todo el espectro del proyecto. Una vez realizadas, lo siguiente es priorizarlas, es decir, definir de esas historias cuáles son las que 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, personalmente recomendamos que se realicen en máximo 15 días, ya que se puede reducir el espectro de errores o cambios en ese tiempo. La idea 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 que se tienen, conoce el negocio de pies a cabeza y junto con él se deben definir 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 encargan del cumplimiento de las actividades del proyecto. 

Usuarios o stakeholders:

Es para quien 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 previamente mencionadas deben ahora detallarse en actividades para conocer más a fondo la complejidad de cada una. Una vez 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. Entiéndase por sencilla no 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, el 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 son 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 atividades 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 se comprometió a realizar el equipo 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 haber hecho 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 iterativo, en el cual sus iteraciones 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.

 Esperamos haber explicado de la manera más clara posible y ante cualquier inquietud no duden en dejar sus comentarios. Nos vemos en un próximo post.

Suscríbete