¿Has visto esas series en las que, antes de empezar un nuevo capítulo, te hacen un resumen de lo que ha ocurrido en episodios anteriores? Pues algo así vamos a hacer nosotros ahora con las metodologías Agile.
Para empaparte bien de lo que son, te recomendamos que eches un vistazo al post sobre qué son las metodologías ágiles. Pero si no tienes tiempo y agradeces un resumen, aquí va.
Las metodologías Agile son aquellas que mejoran la productividad y agilizan los flujos de trabajo. ¿Y qué más pueden hacer por ti, joven padawan? Pues algo tan valioso como ayudarte a reaccionar mejor a los imprevistos del proyecto, al tiempo que consiguen crear confianza entre los miembros de los distintos equipos implicados en las diferentes fases que puede conllevar. Y algo muy importante: permiten introducir la participación del cliente o los stakeholders durante todo el desarrollo del trabajo.
Scrum es una de esas metodologías Agile. Y ahora que ya hemos hecho un remember, vamos al grano.
¿Qué es Scrum y cuál es su origen?
Esta metodología de gestión de proyectos nació ligada al mundo del software. En este campo, como en el de la ingeniería, se empezaba por el diseño de producto y se acordaba y cerraba con el cliente cuáles serían las características que deseaba como resultado final antes de ponerse al lío. El método ofrecía tantas ventajas que rápidamente se extrapoló a otros ámbitos profesionales.
Podría decirse que Scrum está en lo más alto del Hall of Fame de las metodologías Agile. Gracias a su flexibilidad, que ríete tú de los gimnastas olímpicos, se consigue eliminar la rigidez de otros métodos de trabajo y permite hacer cambios a lo largo de todo el desarrollo del proyecto sin que hagan pupita en la organización. Y, oye, si además te ofrece la posibilidad de reaccionar ante imprevistos y movimientos del mercado que no estaban contemplados originalmente en el diseño, pues cómo no lo vas a querer.
No son estas sus únicas ventajas. Scrum permite, además, trasladar algunas responsabilidades que tradicionalmente recaían en mandos intermedios al cuerpo técnico. De esta manera, se ponen en valor su conocimiento y su experiencia.
Y esto de la metodología scrum, ¿para qué se utiliza?
Si a tu equipo le toca gestionar proyectos de desarrollo o mantenimiento de productos, Scrum será tu crush. Sobre todo si se trata de un producto complejo, gracias a sus características de desarrollo incremental, la flexibilidad que permite y la posibilidad de implicar a los stakeholders.
Para entender cómo usar la metodología scrum, lo primero que se necesita es comprender las distintas fases de esta manera de trabajar. Tener una visión general de los distintos roles que define es una buena ayuda.
Scrum agrupa todos sus roles en equipos. ¿De fútbol? No, no te disperses. Hablamos de un pequeño grupo de personas que asume todos los papeles definidos por el método y que tiene todas las habilidades necesarias para añadir valor al producto que se desarrolla o mantiene en cada sprint.
¿Un qué? Un sprint, o lo que es lo mismo, un pequeño periodo de tiempo, normalmente unas pocas semanas, en el que un equipo trabaja para completar una serie de tareas previamente definidas. Cada sprint suele acabar con una serie de entregables que pueden ser revisados e iterados al finalizar dicho periodo.
¿Y cuáles son los roles de los que usted me habla?
Como el tiempo apremia, estos:
Desarrolladores: Si el origen del método Scrum estaba en el software, normal que haya heredado cierta terminología, como es el caso. ¿Y qué hacen los desarrolladores en cualquier otro ámbito fuera del original? Pues son los encargados de realizar el trabajo que se ha definido para cada sprint.
Product Owner: Es el encargado de defender los intereses del producto que se está desarrollando o manteniendo, y vela por maximizar el valor del producto que es objeto de la metodología. Una especie de defensor del pueblo, pero aplicado a un sistema de trabajo.
Scrum master: Es el encargado de garantizar que la metodología se aplica correctamente y que los distintos grupos implicados trabajan según lo previsto, de manera coordinada y maximizando el valor de su trabajo y aportaciones. El p… amo, en dos palabras.
Ahora pasemos a las fases
¿Esto no va de agilizar el trabajo? Pues, sin enrollarnos más, aquí va el esquema:
1. Creación del backlog de producto. Antes de que preguntes qué nos ha pasado algo en la boca, déjanos explicarte qué es un backlog de producto: una lista con todos los requisitos, a alto nivel, que debe cumplir un producto. Es el product owner, con la ayuda del Scrum master, el encargado de crear esta lista a partir de los requisitos obtenidos de los stakeholders. Es muy importante que la lista de tareas esté debidamente ordenada por prioridades, de manera que el equipo de desarrollo sepa cuáles son más relevantes o deben ser terminadas primero.
Pero, ojo, esto es un trabajo en equipo. Aunque el product owner es quien crea esa lista de tareas, no se encarga de asignarlas a los desarrolladores. En el método Scrum, son ellos los que van asumiendo trabajos a medida que van terminando otros. ¿Y cómo se organizan? Ayudándose de un panel, pizarra o plafón donde se colocan y mueven notas adhesivas según se van terminando tareas. Y quien dice notas adhesivas, dice LetsGoNotes, que es una manera de concretar más apropiada (y nosotros hemos venido aquí a hablar de nuestro libro).
2. Planificación de los sprints: Una vez definidas las tareas, tocar definir cuáles se van a realizar en cada sprint. Y para ello, hay que basarse en cuáles son las prioritarias, en su dificultad y en el valor que aportan al producto. Este es el papel del backlog de sprint, que funciona igual que el de producto, solo que contiene únicamente las tareas que se van a desarrollar durante un sprint. Y aquí volvemos de nuevo a utilizar esas molonas y superprácticas notas adhesivas removibles llamadas LetsGoNotes, concretamente la versión de juego agile que pueden pasar de un panel a otro sin dejarse las uñas en el intento y sin enguarrarlo todo de pegamento.
3. Sprints: Son el corazón de esta metodología, el quid de la cuestión, la pulsión propiamente dicha del Scrum. Y definen los periodos de tiempo en que se desarrollan las tareas previamente planificadas.
4. Reunión de seguimiento o Scrum diario: Se trata de una reunión corta —no debe durar más de 15 minutos— que se centra en evaluar cómo ha ido el último sprint y en decidir el plan de trabajo del día siguiente. En este tipo de reuniones se debe comentar el estado de las tareas y los problemas encontrados. Nada de hablar del tiempo, de los niños ni de lo cara que está la vida. Al grano y sin rollos. Para otras cuestiones o si se necesita entrar en detalles técnicos, es mejor organizar una reunión aparte.
5. Revisión de los sprints: Consiste en valorar el trabajo que se ha realizado, poner en común los puntos fuertes y los débiles detectados en su procesoy definir o evaluar posibles adaptaciones o mejoras para el próximo sprint. Esta fase suele terminar con la generación de un entregable o, al menos, con una versión del producto que puede ser presentada a los stakeholders. Ellos podrán evaluar, así, el trabajo realizado y si es necesario introducir cambios. ¿Y adivinas qué es superútil a la hora de hacer esos análisis? Efectivamente, contar con etiquetas adhesivas de distintos colores, de manera que el resultado sea muy visual y fácil de entender a simple vista. O sea, recurrir a las LetsGoNotes.
¿Qué beneficios aporta la metodología Scrum a mi trabajo?
Pues todos estos:
• Flexibilidad: Al trabajar por sprints y centrar los esfuerzos en pequeñas tareas, liberando los resultados de forma incremental, es posible adaptarse a imprevistos o incorporar cambios o adaptaciones a un proyecto sin que se vea afectado el flujo de trabajo al completo.
• Posibilidad de implicar a los stakeholders en todas las fases del proyecto: La misma naturaleza incremental del método permite informar a los stakeholders de cada progreso realizado o inconveniente encontrado, implicándolos en el desarrollo del proyecto en todas sus fases, y no solo al inicio.
• Equipos altamente productivos y motivados: Los equipos tienen una visión clara de dónde van y no cargan el proyecto a sus espaldas, sino que tiran del proyecto hacia ellos. Además, reciben la confianza suficiente para planificar y evaluar los sprints, por lo que sienten que se valoran sus capacidades y se les da autonomía y confianza. Y, oye, que confíen en ti y te digan cuánto vales motiva que no veas…
• Mejores estimaciones de tiempos: La división del proyecto en pequeñas tareas permite una mejor estimación de los tiempos de entrega. Estas estimaciones mejoran más a medida que se avanza en los incrementos y se completan tareas parecidas.
• Obtención de un proyecto mínimo viable: La entrega incremental facilita la obtención de un proyecto con las características mínimas para ser viable antes de disponer de un producto completo.
Y como en todo, también hay peros: desventajas de utilizar scrum
En esta vida no todo es perfecto. La metodología Scrum también tiene algunos inconvenientes:
• Requiere equipos pequeños.
• Es necesaria una definición exhaustiva de tareas, así como de sus prioridades.
• Requiere equipos que tengan todas las habilidades necesarias para añadir valor al producto. Esto suele significar la necesidad de perfiles senior en cada equipo.
• Puede requerir cambios organizativos.
¿Con qué herramientas cuenta scrum?
Si estás pensando en martillos, llaves inglesas y destornilladores, bórrate esa imagen de la cabeza. Las herramientas scrum son elementos que habilitan la gestión que hemos definido previamente. Cada herramienta está pensada para aportar información al equipo y permitirle tener una visión clara de lo que se quiere lograr. Y todo ello consigue que el equipo al completo tome decisiones basándose en el mismo conocimiento.
Cada herramienta se asocia con un compromiso que permite mostrar de forma transparente lo que se pretende alcanzar o lo que se ha conseguido.
Estas son las herramientas más comunes:
Product Backlog
Es la lista que contiene todas las tareas que deben realizarse en el proyecto. Su compromiso es el objetivo de producto que debe mostrar claramente a dónde se quiere llegar.
Sprint backlog
Es el equivalente del product backlog para cada sprint. Su compromiso es mostrar el objetivo final de cada sprint.
Increment
Define un hito concreto que debe ser conseguido antes de poder completar el objetivo de producto. Su compromiso es la definición de completitud. Cada hito define formalmente qué significa haberlo completado, por lo que es fácil para el equipo identificar los hitos logrados a medida que avanza el proyecto.
Ejemplos del uso de metodología Scrum
Que sí, que todo esto está muy bien, pero como todo corre el peligro de quedarse así, en abstracto, es mejor buscar ejemplos concretos de aplicación del Scrum. Y aun a riesgo de hacer un spoiler, ya te adelantamos que sí, que hay empresas que han puesto en práctica esta metodología y que se han hecho famosas por ello.
Vaya el primer ejemplo: Intel. Esta compañía aplica el método Scrum en el desarrollo de sus microprocesadores. Con ello consigue reducir hasta en un 66% los tiempos de desarrollo de productos.
Spotify es otra de las grandes compañías que divide a sus trabajadores en squads, pequeños equipos liderados por un Scrum master que trabajan siguiendo esta metodología Agile.
Y un último ejemplo: Apple, que también se ha caracterizado por usar Scrum desde sus inicios para la gestión de sus proyectos.
Llegados a este punto, hazme un resumen para concluir
Tus deseos son órdenes, amo Luke.
Aunque tiene su origen en proyectos de software, Scrum es una buena candidata para organizar cualquier proyecto en otros ámbitos empresariales.
Esta metodología Agile se sirve de paneles, notas adhesivas, reuniones cortas y otras herramientas para organizar el trabajo en sprints. Con ello, se consigue dar flexibilidad al desarrollo y mantenimiento de productos complejos, y se responde mejor a las necesidades cambiantes del mercado.