Metodología Scrum
Scrum es una metodología de trabajo cuya implementación tiene beneficios en entornos de producción complejos.
Con la metodología Scrum, las entregas son progresivas y continuas, aportando el mayor valor posible en cada iteración o sprint.
Entre las características que más destacan de este método es que es muy sencillo de entender, pero complejo de dominar.
Es sencillo de comprender porque no tiene grandes requisitos para su implementación y se puede explicar fácilmente a los integrantes de un equipo de trabajo.
Pero como es un proceso adaptativo que se alimenta de los resultados empíricos obtenidos de su implementación, depende de la experimentación, haciendo que sea complejo.
Como todas las metodologías ágiles, requiere que la empresa tenga una cultura que fomente el trabajo en equipo y la mejora continua en cada una de las fases de la metodología Scrum.
Asimismo, debe existir un fuerte compromiso con el cliente y con el logro de metas.
Para esto, la dirección del proyecto (o de la empresa) debe realizar los cambios necesarios en la organización y, por parte de los miembros del equipo, debe haber compromiso, dedicación y adaptación a los cambios.
Bases de la metodología Scrum
Este método está basado en la entrega incremental en bloques fijos y de corta duración, por lo tanto, en cada sprint se priorizan los requisitos de más valor para el cliente.
Al hacerse entregas en periodos cortos, el equipo se potencia y se incentiva para cumplir con las tareas asignadas.
Otra base fundamental de este método es que existe un sistema de comunicación que optimiza el tiempo lo mejor posible.
Pilares de la metodología Scrum
En la metodología ágil, Scrum se diferencia por tres pilares fundamentales que inciden directamente en el éxito de su implementación. Estos pilares son:
La transparencia
Este método promueve la comunicación efectiva, por lo que todos los miembros del equipo saben que está haciendo el resto.
Existen reuniones Scrum específicas en donde cada miembro habla de su avance, lo que ayuda a que todas las partes entiendan lo que pasa en el proceso de manera global.
La inspección
Este pilar se fortalece con las reuniones periódicas en donde, más que evaluar, se busca saber cómo marcha cada actividad para determinar si existe algún inconveniente que pueda interferir en el flujo de la iteración o sprint.
La adaptación
Este método busca cumplir los objetivos de cada sprint y, por lo tanto, es sensible a cambios que los conduzca a lograrlo.
Esto en sí mismo es positivo, pues instaura en la cultura de la empresa la flexibilidad de los procesos en búsqueda de una mejora continua.
Ventajas de la metodología Scrum
Sin dudas, la metodología ágil Scrum se puede aprender fácilmente, pero no es la única ventaja.
Uno de los beneficios para el cliente es que puede comenzar a interactuar con el producto en poco tiempo y tiene la seguridad de que al finalizar cada sprint podrá probar nuevos cambios que añadan valor, lo que disminuye las posibilidades de imprevistos en el producto final.
El cliente irá probando y entregando feedback sobre el producto de forma continua.
Como todo método, el Scrum tiene unas claras desventajas.
La primera es que no se puede aplicar a todos los procesos de producción y que, en los que se puede, suele ser complejo.
Asimismo, como es un trabajo en equipo, se prefieren aquellos que sean multidisciplinares, lo cual no es sencillo de encontrar.
Y, por último, como un sprint es una actividad a contrarreloj, existe la tendencia a terminar el trabajo rápidamente, y en algunas ocasiones se puede dejar la calidad de lado no prestándole la atención adecuada.
Roles de un equipo de Scrum
Dentro de un equipo de Scrum existen roles claramente definidos que ayudan a que el proceso fluya. Estos roles son:
Scrum Master
Esta persona se encarga de asegurar que la metodología y sus técnicas sean aplicadas de forma correcta.
El Scrum Master es quien lidera el equipo de trabajo, los ayuda a detectar los impedimentos, los elimina, provocando que el sprint avance.
Asimismo, se asegura que la implementación del método tenga en cuenta las mejores prácticas.
Dependiendo de la complejidad del proceso, pueden existir varios Scrum Masters que lideren distintos equipos de trabajo.
Product Owner
Este profesional juega un papel clave en el proceso, pues es quien determina las actividades que se realizarán en el sprint.
Toma estas decisiones basándose en el mayor aporte de valor al cliente.
Debido a la naturaleza de sus actividades, el Product Owner está en constante comunicación con el cliente. Otra actividad clave de este rol es el manejo del Product Backlog y su óptima gestión.
Scrum Team - Equipo de desarrollo
En esta categoría se encuentran todas aquellas personas encargadas de la ejecución de las actividades planificadas en el sprint.
En estos equipos, todos están al mismo nivel, con el fin de que exista un espíritu de colaboración y responsabilidad. Si el sprint sale como se esperaban, todos han hecho un buen trabajo y si no se logran todas las actividades, la responsabilidad es compartida, es por esto que los equipos son multidisciplinares y, además se realizan reuniones constantes.
Además, estos equipos son auto organizados, pues ellos son los que toman las decisiones internas sobre cómo se desarrollarán las tareas.
Actividades dentro de la metodología Scrum
Para la implementación de la metodología Scrum, estas actividades son constantes:
Planificación del Sprint o Sprint Planinng
Consiste en una reunión a la que asisten todos los miembros del equipo, en ella se planifican las actividades del sprint, así como su duración y los objetivos.
Dependiendo de la duración del sprint, la reunión puede durar más o menos tiempo. En esta reunión hay dos preguntas clave que responder: ¿qué se va a hacer? y ¿cómo se hará?
Sprint
En pocas palabras, el sprint es la implementación del método, pues aquí es donde se desarrolla el producto de acuerdo con la planificación que se ha hecho.
Su objetivo principal es la entrega de valor al cliente y esto se consigue con el logro de las actividades, apoyados en una buena comunicación.
Reuniones diarias o Daily Meeting
Esta reunión tiene como fin saber qué hizo cada miembro del equipo ayer, qué hará hoy y si existe algún impedimento para lograr su tarea.
Gracias a la naturaleza de esta reunión, todos los miembros de Scrum Team deben estar presentes.
Las reuniones diarias permiten retroalimentar al método para encontrar puntos de mejora continua y proponer cambios.
Revisión del sprint o Sprint Review
Una vez terminado el sprint, se hace una revisión de este en donde se presentan los resultados obtenidos y se realiza una demostración de su funcionamiento.
En esta reunión, el cliente da su retroalimentación sobre el avance y se realizan las modificaciones necesarias.
Esta reunión dura alrededor de 4 horas, si el sprint es de un mes.
Retrospectiva o Sprint Retrospective
Esta reunión sirve para evaluar el desempeño del equipo durante la implementación y se plantean mejoras para el sprint siguiente.
Es importante que se puntualicen las mejoras, pues el nuevo sprint comenzará al día siguiente.
Herramientas de la metodología Scrum
Con el fin de que exista transparencia en el proceso y que la comunicación sea efectiva, existen dos herramientas muy usadas.
Product Backlog
En la gestión del proyecto, el Product Backlog no es más que una lista que incluye todas las tareas que se deben realizar para producir el producto final.
Esta es una herramienta que está en las manos del Product Owner, quien las organiza según la prioridad y el aporte de valor para el cliente; de esta lista salen las actividades para cada sprint.
Sprint backlog
En la reunión para la planificación del sprint, el Product Owner presenta las actividades y el equipo de desarrollo escoge las que realizará cada miembro del equipo en ese sprint, a esa lista final se le conoce como Sprint Backlog.
La selección de las actividades que se desarrollarán en el sprint, y, por tanto, serán parte del Sprint Backlog debe estar enfocada en dar valor para el proyecto o el cliente.
¿Dónde se puede implementar la metodología Scrum?
Como otras metodologías ágiles este método funciona mejor en ciertas condiciones de producción.
La aplicación más conocida es en el desarrollo de software, pero tiene el mismo éxito en todos los procesos que consten de entregas consecutivas acumulativas, es decir, modelos de producción en donde las actividades se van sumando a un resultado final.