«Scrum», puede que el término no tenga ningún significado para ti. Y, sin embargo, el método Scrum de gestión de proyectos agile es una pequeña revolución en la forma de trabajar y organizarse.
El Scrum define un marco metodológico preciso y flexible para los proyectos tecnológicos, innovadores o complejos. Sus objetivos son mejorar la productividad de los equipos, promover el diálogo entre las partes implicadas (stakeholders) y optimizar el éxito final de los proyectos.
En el ámbito de la creación de sitios web, hay bastante acuerdo en esto: la planificación tradicional, que se basa dar instrucciones y seguirlas, no es adecuada, debido a su rigidez, la falta de diálogo entre los clientes y el prestatario y el efecto túnel. Los proyectos rara vez se entregan a tiempo y, en la mayoría de los casos, se producen a sobrecostes presupuestarios. Pero lo peor no es eso, sino que el resultado final a veces está lejos de las expectativas iniciales del cliente o propietario del proyecto.
La agilidad de Scrum permite evitar estos escollos: ¿cómo lo consigue?, ¿qué es Scrum concretamente?, ¿cómo funciona este método de planificación utilizado cada vez por más organizaciones (¡incluido el FBI!)?, ¿qué es un sprint, un backlog, una historia de usuario, un Scrum Master, un Daily Scrum?
Y, sobre todo: ¿cómo establecer fácil y rápidamente la metodología Scrum en tu empresa?, ¿qué pasos seguir y qué herramientas usar? En este artículo, inspirado en la guía completa de Andrew Littlefield, vamos a abordar todos estos puntos. ¡Esperamos que sea una lectura provechosa!
Índice
¿Qué es el método Scrum de gestión de proyectos agile?
Scrum es el método de gestión de proyectos ágil más conocido y usado. Para empezar, ¿de dónde viene este nombre particular: «Scrum»? El término se puede traducir como «cuerpo a cuerpo» o «melé», lo que puede que te traiga a la cabeza un deporte. «Scrum» hace referencia al rugby y a sus valores, como el espíritu de equipo. De forma más precisa, en un scrum, el objetivo es hacer circular la pelota (el proyecto) permaneciendo unidos.
Scrum, como todos los métodos de gestión de proyectos ágiles, no solo define un método de trabajo concreto, sino un marco metodológico íntegro de gestión. Incluso podríamos hablar de paradigma, de cultura. Scrum es una forma de totalmente nueva de organizar el trabajo. Casi podríamos hablar de «filosofía» o «cultura Scrum». La cuestión queda abierta a debate.
Los métodos ágiles, de los que Scrum forma parte, surgen como reacción a la rigidez de la planificación y ejecución engorrosa de los métodos tradicionales. El nacimiento de estos nuevos métodos parte de la simple observación de las carencias de los métodos tradicionales para los proyectos web, tecnológicos o innovadores. Esta metodología pretende acabar con las instrucciones inflexibles y la falta de comunicación.
La metodología Scrum frente a la planificación tradicional
Básicamente, por explicarlo de una manera muy simple, la organización del trabajo clásica sigue este esquema:
- El autor del proyecto (el cliente o propietario) establece un pliego de especificaciones de proyecto de varias páginas (o varias decenas de páginas), en las que se definen y especifican todas las necesidades.
- El equipo a cargo del desarrollo (el contratista principal o proveedor de servicios) recibe las especificaciones funcionales y especificaciones técnicas y realiza el trabajo solicitado hasta entregar el producto final.
En este modo clásico de funcionamiento, hay dos problemas principales. En primer lugar, la falta de diálogo entre el proveedor o contratista y el promotor o cliente, lo que a menudo lleva a un desajuste entre la necesidad expresada inicialmente por el cliente y el producto finalmente entregado por el proveedor. Evidentemente, hay intercambios, pero giran en torno a unas instrucciones iniciales inflexibles que determinan el trabajo de principio a fin.
Segundo problema: la faceta nuevamente muy rígida, la falta de flexibilidad de las especificaciones, que impide, por el efecto túnel, que se cuestionen y valoren ciertas ideas o funcionalidades mientras se desarrolla el trabajo. El papel lo aguanta todo y tal vez algunos aspectos del planteamiento inicial no eran tan buena idea como inicialmente se creía. Un nivel óptimo de flexibilidad se traduce en un incremento de la productividad.
Los ciclos de desarrollo
La metodología Scrum surge como réplica a la forma de trabajar anterior, partiendo del principio de que planificar y especificar todo de antemano, antes de la fase de desarrollo, es contraproducente. Se basa en ciclos cortos de desarrollo: el proyecto se divide en bloques que corresponden con las necesidades (hablamos de «user story» o «historia de usuario»). Cada vez que se cierra un bloque, se produce una etapa de validación que permite recopilar feedback, y afinar o redefinir los objetivos si es necesario.
En un proceso Scrum, se permiten, e incluso se fomentan, los cambios y las bifurcaciones en el proyecto. Si alguna idea del informe inicial resulta ser mala, se descarta. El pilar central de la filosofía Scrum es que una buena idea puede surgir sobre la marcha, mientras se ejecuta el trabajo. Es una metodología experimental y gradual.
Como hemos dicho, Scrum se articula en ciclos cortos. Esto lo solo supone una partición del proyecto global en bloques y necesidades, sino también una división del tiempo de trabajo. La iteración es un concepto muy importante en Scrum. La idea es encadenar iteraciones con una duración de 1 a 4 semanas, cada una de las cuales corresponde con la finalización de una parte del proyecto, el desarrollo de una funcionalidad y/o la respuesta a una necesidad específica. Estas iteraciones también se denominan sprints. Iteraciones, sprints y ciclos cortos son sinónimos y son la base de trabajo de Scrum.
La historia de Scrum
Los llamados métodos de gestión de proyectos «ágiles» se originaron en Estados Unidos y Japón y en las décadas de 1970 y 1980, a raíz del toyotismo y el lean management. Algunas de las primeras empresas en aplicar este nuevo paradigma de gestión de proyectos (o productos) son Toyota, Fuji y Honda. No obstante, los métodos ágiles, tal como se implementan hoy en día, se deben sobre todo a Jeff Sutherlandun expiloto del ejército de EE.UU. reconvertido a la informática.
Ante los problemas recurrentes de la planificación de proyectos (sobrecostes presupuestarios, productos que no se ajustan a las indicaciones iniciales), Sutherlandun recurrió a los métodos ágiles de las empresas japonesas. A partir sus ejemplos, comienza a desarrollar una nueva metodología que llama Scrum. Su planteamiento tuvo un gran éxito y no dejó de desarrollarse… hasta el día de hoy.
Otro acontecimiento importante, que concierne a todos los métodos ágiles, tuvo lugar en 2001, con la publicación del Manifiesto Ágil, resultado de una reunión entre varias figuras destacadas en el desarrollo de software. Asimismo, es a partir de esta fecha cuando el término «método ágil» entra en el lenguaje empresarial y de la gestión.
La distribución de roles y el trabajo en equipo
A la división del trabajo en necesidades concretas y a la división del tiempo se une una división de los equipos que refleja una organización del trabajo para nada improvisada. En Scrum, el equipo organizativo cuenta con tres componentes (y solo tres), cada uno de ellos con un rol bien definido:
Product Owner
El Product Owner o propietario del producto es el representante del cliente que encarga el proyecto para satisfacer una necesidad suya. Está completamente implicado en la ejecución. El Product Owner tiene la visión precisa del producto que se va a realizar, especifica las necesidades y trabaja mano a mano con el equipo de desarrollo.
Se encarga de validar las funcionalidades desarrolladas y, en general, las diferentes fases de progreso. También crea el backlog, es decir, la lista de funcionalidades y características que debe tener el producto final y, en esta lista, define las prioridades.
Equipo de desarrollo
Se encarga de crear el producto satisfaciendo las necesidades y expectativas del propietario del producto. Para ser fieles a la lógica de Scrum, el equipo debe ser multidisciplinar. En un proyecto web, incluye tanto a desarrolladores web como a diseñadores gráficos o analistas. Por tanto, el término «desarrollo» debe interpretarse en un sentido amplio: son todas las personas que realizan el trabajo. Dependiendo de la envergadura del proyecto, el tamaño del equipo de desarrollo puede ser muy variable: desde 3-4 hasta 200 personas.
Scrum Master
Desempeña el papel de «director de orquesta» y coach. Vela por el cumplimiento del método Scrum y la buena marcha del proceso, aplicando un estilo de dirección «participativo» (y no «directivo»). La persona elegida para ser el Scrum Master suele ser alguien con reconocimiento por sus habilidades en la gestión y el liderazgo de proyectos.
Estos tres roles van a implicarse en la realización del proceso. Este proceso, como decíamos, se divide en periodos de tiempo definidos con antelación (de 1 a 4 semanas), llamados sprints. En cada sprint, los equipos trabajan para cubrir una necesidad o una parte del proyecto (del backlog). Todos los días, se organiza una reunión de Daily Scrum o Daily Stand-Up, que permite a todos informar sobre su progreso y los problemas que se han encontrado.
Cada iteración o sprint finaliza con lo que se denomina una «retrospectiva», que es una oportunidad para hacer balance del trabajo realizado y reflexionar sobre posibles mejoras (de cara al siguiente sprint). Veamos ahora cómo configurar concretamente un proceso de trabajo.
Cómo configurar un proceso de trabajo sencillo con el método Scrum
Aviso para navegantes si te convence lo que estás leyendo y quieres innovar en tus procesos: vas a tener que ir poco a poco. El inconveniente de esta metodología de planificación del trabajo es que es muy sencilla de entender, pero más difícil de aplicar correctamente.
Pero eso no es motivo para desanimarse. Siempre hay una primera vez para todo. Para comenzar, puedes configurar un marco para un proceso simple en poco tiempo.
Estos son los principales pasos que debes seguir para empezar a trabajar aplicando una metodología o enfoque:
- Descarga la guía oficial del método Scrum, editada por Jeff Sutherland y Ken Schwaber y disponible aquí. Tómate tu tiempo para leerla, en el transporte, durante la pausa del almuerzo… Esta guía te enseñará muchas cosas y te dará muchos consejos para iniciar un proceso de trabajo Scrum.
- Asigna los roles de trabajo. Recuerda que necesitas un Product Owner, un Scrum Master y un equipo de desarrollo.
- Crea tu backlog. El backlog es el documento en el que enumeras todas las necesidades a las que debe responder el proyecto/producto. También debes clasificar estas necesidades según su orden de importancia y priorizarlas. Recuerda que este backlog está destinado a estar incompleto por su propia naturaleza. Surgirán nuevas necesidades a medida que se desarrolle el trabajo. Cada vez que surja una nueva necesidad, debes añadirla al backlog. El propietario del producto es el responsable del backlog, lo que incluye tanto la definición de las necesidades como su priorización.
- Selecciona una necesidad de tu backlog. Será el objeto de trabajo de tu primer sprint. Recuerda que cada sprint o iteración, incluido el primero, debe tener un límite de tiempo. Por lo tanto, también debes determinar la duración de tu sprint: una semana, dos semanas, tres semanas, un mes (máximo). Depende de la complejidad de las tareas y de las necesidades. Todo el equipo debe elaborar, para cada sprint, sus listas de tareas pendientes que deben realizar y su reparto entre los miembros.
- Ahora es el momento de empezar a trabajar en tu primer sprint. Cada miembro del equipo trabaja en la tarea que se le ha asignado. Todos los días organizas una reunión (Daily Scrum) para hacer un balance de lo que se hizo el día anterior y lo que se debe hacer hoy. Las reuniones diarias, que no deben durar más de 15 a 20 minutos, también son una oportunidad para compartir cualquier problema o punto conflictivo encontrado el día anterior.
- Al final del primer sprint, todos los miembros del equipo deben presentar su trabajo terminado e informar sobre él en la reunión «retrospectiva». Esta reunión de entrega también debe ser una oportunidad para revisar el progreso del proyecto y discutir posibles ideas de mejora.
- ¡Es hora de pasar a un nuevo sprint!
Herramientas para incrementar la productividad con el método Scrum: el ejemplo de Trello
La transparencia es uno de los principios esenciales de este estilo de trabajo. Cada miembro del equipo debe ser consciente de lo que hacen los demás, las tareas que realizan, los objetivos que persiguen y su nivel de progreso. La transparencia es la base del trabajo en equipo. Por eso es tan importante utilizar permitan ver lo que hacen los demás en todo momento de forma ágil y rápida.
Una de estas herramientas es el Scrum Board. Te permite organizar el backlog, ver los objetivos alcanzados y sobre todo el progreso de las tareas en curso (Pendiente ==> En proceso ==> Terminada). Existe una versión desvirtualizada de esta tablero, con un tablón y pegatinas. Pero también puedes usar un software de colaboración profesional como Trello, que permite una visualización muy clara de los flujos de trabajo y facilita la colaboración remota.
Trello te permite crear tableros, organizados en «fichas» y columnas que se manejan de forma totalmente intuitiva. Las fichas, que corresponden con tareas, se pueden mover de una columna a otra a medida que avanzan. En estas fichas es posible compartir comentarios, archivos, etc. Tú mismo/a decidirás cómo organizar tu tablero (o tus tableros) de Trello como mejor te parezca.
Las columnas de Trello
A continuación, puedes encontrar un ejemplo de cómo organizar las columnas de un tablero de Trello, con un proceso de trabajo Scrum (ejemplo de Andrew Littlefield):
- Columna «Recursos» (Ressources), que contiene todas las tareas recurrentes. Esto evita tener a crear una nueva ficha desde cero cada vez que se renueva la tarea (tan solo hay que crear una copia en las demás columnas cuando la tarea está en curso, y dejar la original en la columna de recursos para su futura reutilización).
- Columna «Backlog», que contiene la lista de tareas en las que el equipo debe trabajar.
- Columna «To Do», que contiene las tarjetas de las tareas que se deben completar durante la iteración actual.
- Columna «En proceso» (Doing): Cuando el miembro del equipo a cargo de una tarea comienza a trabajar en ella, mueve la ficha correspondiente de la columna “Por hacer” a “Haciendo”.
- Columna «Control de calidad» (QC / Quality Check). Cuando el responsable de una tarea la ha realizado, mueve la ficha correspondiente de la columna «En proceso» a la columna «Control de calidad». De esta forma, el Scrum Master y el propietario del producto o Product Owner pueden revisar el resultado de las tareas realizadas. Nota: si hablamos de la organización de un proceso editorial, creativo o de redacción de un artículo, esta columna se suele llamar «Revisión» o «Corrección».
- Columna «Terminada» (Done). Después de verificar que la tarea se ha completado correctamente, la ficha correspondiente pasa de «Control de calidad» a «Terminada». Se puede planificar su implantación en el proyecto (por ejemplo, si es una funcionalidad se puede planificar el día de su integración en el producto, o si es un artículo web se puede planificar su publicación).
- Columna «Bloqueada» (On hold, blocked). Una ficha de tarea se mueve a la columna «Bloqueada» cuando surge un problema durante la ejecución. El cuadro de comentarios integrado en la ficha permite que la persona que ha identificado el problema lo comparta con el resto del equipo y se busque una solución de forma colaborativa.
Trello es una herramienta muy eficaz y muy adecuada para Scrum, pero también para Kanban. Los tableros de Trello se pueden compartir entre todos los miembros del equipo, lo que permite que todos tengan una visión global del progreso del sprint y el trabajo de los demás. La posibilidad de agregar comentarios en los tableros, de crear listas de verificación o de configurar un calendario permite tener aún más detalles sobre la realización de las diversas tareas.
Trello también se puede integrar con Slack, otra herramienta de planificación de proyectos muy buena. En definitiva, para llevar a cabo una gestión agile, se necesitan herramientas que sean en sí mismas ágiles. Otros programas propietarios que puedes probar son Notion, Monday y las herramientas de gestión de proyectos agile, muchas de ellas gratuitas, ¿por qué no usarlas?
Conclusión
El concepto más importante en las metodologías ágiles (¡hay muchos conceptos importantes, es cierto!), y en Scrum en particular, es el de iteración. Es la organización del trabajo y el ciclo de vida del proyecto articulado en ciclos cortos lo que da todo su poder a Scrum y permite incrementar la productividad y la calidad del producto final. Cada sprint se centra en cubrir una necesidad específica, una parte del proyecto general. Por ejemplo, si estás desarrollando una aplicación móvil, cada necesidad suele corresponder a una funcionalidad concreta.
Es muy importante tener presente lo siguiente: el cliente debe probar el funcionamiento del trabajo entregado al final de cada sprint. La metodología Scrum se basa entregas iterativas al cliente, al final de cada ciclo. El cliente debe estar en disposición de evaluar (debidamente) el trabajo al final del sprint, durante la reunión «retrospectiva». Si la necesidad es una funcionalidad tecnológica, debe probar su resultado final en ese momento.
De lo contrario, es muy difícil identificar áreas de mejora. Vuelve a aparecer el efecto túnel y volvemos a caer en los defectos del método clásico (la rigidez de las instrucciones iniciales). De ahí nace el segundo concepto importante de Scrum: la idea de mejora continua, a través de un intercambio constante durante cada sprint y al finalizarlo.
Además, la mejora continua no solo concierne al producto y sus funcionalidades. Scrum también puede suponer adaptaciones del proceso trabajo mientras se lleva a cabo el proyecto. Por ejemplo, si se llega a la conclusión de que la distribución de tareas dentro del equipo de desarrollo es deficiente, se puede reorganizar el trabajo en medio del proceso. Por otro lado, es necesario encontrar el equilibrio adecuado entre la búsqueda de una flexibilidad óptima y la necesidad de una organización rigurosa del trabajo.
Otros recursos sobre la gestión de proyectos ágil con Scrum
Los métodos agile aplicados correctamente y Scrum en particular pueden ahorrar mucho tiempo por un incremento de la productividad del equipo. ¡Tú decides cómo adaptarlo a tu organización!
Aquí tienes algunos recursos para profundizar en la comprensión de la metodología Scrum (e implementarlo en la práctica). Todos están en inglés excepto los dos primeros:
- La guía Scrum. Escrita por Jeff Sutherland y Ken Schwaber, esta guía te brindará los conceptos básicos para comenzar con la metodología Scrum. La versión oficinal está en inglés y hay traducciones de la comunidad a más de 20 idiomas, entre ellos español.
- Scrum Primer (PDF en español). Una pequeña guía de unas veinte páginas que cubre lo esencial para entender la lógica y el funcionamiento de Scrum.
- Scrum Glossary. Ofrecido por la asociación «Scrum Alliance», este glosario contiene todas las definiciones que necesitas conocer sobre Scrum, los diferentes roles y los diferentes conceptos asociados a él.
- Scrum: The Art of Doing Twice the Work in Half the Time. Este libro, escrito por Jeff Sutherland, explica todo lo que necesitas saber sobre Scrum, de una manera divertida y con muchas anécdotas concretas.
- Agile Vs Kanban: What’s the Difference?. Una pequeña guía práctica que explica las diferencias entre Agile y la metodología Kanban