Scrum
Qué es Scrum
Scrum es una forma de organizar el flujo de trabajo utilizando principios y prácticas específicos. Más exactamente, Scrum es un sistema o marco de trabajo flexible para desarrollar y gestionar proyectos, que implica el trabajo en equipo y la distribución no estándar de tareas dentro del mismo.
Se podría pensar que Scrum es un acrónimo de los principios fundamentales de la metodología Scrum, pero no es así. En realidad, la palabra "scrum" proviene del rugby. En el rugby, un scrum es una formación en la que los jugadores de un mismo equipo se entrelazan para avanzar juntos con la pelota y enfrentarse a sus oponentes. Así se ve Scrum también en los negocios: un equipo se reúne en torno a la creación de un producto concreto.
La mayoría de las estrategias de gestión de productos implican un plan claro que tiene en cuenta todos los riesgos, plazos y costes. Sin embargo, estas estrategias se quedan rápidamente obsoletas en la práctica y requieren revisiones periódicas debido a la imprevisibilidad de los factores externos y del proceso de desarrollo. La metodología Scrum tiene en cuenta la volatilidad del mundo y, por tanto, se basa en principios completamente diferentes. Según esta metodología, es imposible planificar el proceso de trabajo hasta el más mínimo detalle, por lo que el nivel de incertidumbre y el factor humano desempeñan un papel importante en el desarrollo. Por eso, Scrum da la bienvenida al cambio y a la experimentación en lugar de a la estricta adhesión a un plan.
Por eso Scrum se llama método "ágil" porque permite crear un nuevo producto en un entorno en constante cambio sin sacrificar el presupuesto, la calidad futura del producto ni los plazos.
La diferencia entre Scrum y Agile
Scrum y Agile son métodos diferentes, pero tienen mucho en común. Por ejemplo, ambos son estructuras flexibles que requieren enfoques no estándar y buscan cambiar y mejorar continuamente el producto a pesar de las circunstancias cambiantes e inciertas.
Sin embargo, la diferencia entre estos dos enfoques es que Scrum es solo una metodología basada en los principios de Agile. Así, Agile es un conjunto de enfoques y metodologías flexibles coherentes con los valores reflejados en el "Manifiesto Agile". Es el documento principal que describe todos los principios según los cuales existe Agile.
Así, los principios básicos de Agile, reflejados también en la metodología Scrum, son los siguientes:
-
Las personas son más esenciales que las herramientas.
Es decir, los empleados de la empresa y la relación entre ellos son más importantes que el proceso de trabajo y las propias herramientas utilizadas para alcanzar el objetivo. Al fin y al cabo, la base de cualquier actividad es siempre la comunicación. Incluso los procesos mejor establecidos no darán el resultado deseado sin un entendimiento mutuo. Por lo tanto, es necesario crear un clima psicológico favorable en el equipo y unas condiciones para que todos sus miembros puedan intercambiar información rápidamente y, en el mejor de los casos, entenderse en seguida. En este caso, nada podrá impedir que un equipo cohesionado lleve a cabo el proyecto.
-
El objetivo es un producto de calidad.
La tecnología Agile se centra principalmente en el resultado, es decir, en crear un nuevo producto que satisfaga las necesidades del cliente y del público. Así, los equipos que trabajan bajo los principios de Agile se concentran en hacer que el producto esté listo para su uso lo antes posible. Para ello, se puede prescindir del papeleo. Así que en el proceso de trabajo sólo se elabora la documentación más necesaria, sin trámites burocráticos.
-
Más cooperación con el público y retroalimentación del cliente.
Según los principios Agile, no sólo los propios desarrolladores participan en el proceso de creación del producto, sino también el cliente. Además, esta tecnología consiste en la participación activa del público en el desarrollo del producto en todas las fases de producción, por ejemplo, mediante las pruebas AB. Esto ayuda a lograr un mayor entendimiento mutuo y, en última instancia, el resultado deseado. Por lo tanto, la retroalimentación de los clientes y consumidores del futuro producto es el principio muy importante de la metodología Agile.
-
Experimentación en lugar de un plan claro.
Las tecnologías Agile se denominan empíricas porque se basan en la observación, la experiencia y la experimentación. Así, esta metodología da la bienvenida a cambios inesperados, desviaciones del plan y experimentación. Además, siempre hay que estar preparado para los cambios, porque las cosas no siempre pueden ir según lo previsto durante el proceso de trabajo. Por ejemplo, los requisitos del propio producto o las condiciones de su producción pueden cambiar. Por lo tanto, hay que hacer ajustes en cada fase del proceso de desarrollo.
Estos cuatro postulados se convirtieron en la base de la filosofía Agile. Así, Scrum se implementa en su marco, reflejando sus principios básicos. En otras palabras, Agile puede llamarse una mentalidad, una filosofía o una idea por la que luchar. Scrum, a su vez, es una metodología específica que implica ciertos pasos y acciones para poner en práctica esta idea.
Scrum vs Kanban: puntos en común y diferencias
Kanban también es uno de los métodos Agile para la gestión del proceso de trabajo, pero se basa principalmente en la visualización del objetivo, las tareas y el progreso posterior.
La metodología Kanban se basa en cuatro principios fundamentales:
-
Visualizar los procesos de trabajo
Una herramienta esencial para la visualización es un tablero. Cada una de sus columnas representa una fase de trabajo determinada. Las tarjetas en el tablero representan las tareas que deben resolverse en cada fase. Puedes crear un tablero Kanban para pequeños proyectos utilizando una pizarra de corcho o de rotulador y pegatinas. Para proyectos más grandes y complejos, es más sentido utilizar tableros virtuales en línea que ofrecen posibilidades mucho más amplias. En cualquier caso, este enfoque de la visualización proporciona una transparencia total del trabajo de todo el equipo.
-
Limitar el trabajo
El método Kanban limita el número de tareas que se realizan simultáneamente. En pocas palabras, restringe el número de tareas que puede haber en una columna del tablero, es decir, en una fase. La limitación ayuda a garantizar que el equipo no esté sobrecargado y complete las tareas que merecen la pena antes de pasar a las siguientes.
-
Gestión del flujo
Significa solucionar a tiempo cualquier fallo o error cometido en el desarrollo del producto. Además, la gestión del flujo también implica minimizar diversos riesgos, como los defectos del producto. Para hacer un seguimiento de todo ello, todos los miembros del equipo deben mantener actualizado el tablero Kanban. Así se pueden identificar los puntos débiles y eliminar los problemas que surjan, al tiempo que se continúa con el proceso de trabajo sin interrupciones.
-
Mejora continua
No sólo es necesario actualizar el tablero Kanban, sino también supervisar el funcionamiento de todo el sistema y las reacciones del equipo y del cliente, porque obtener retroalimentación y buscar constantemente formas de mejorar los procesos es esencial para todas las metodologías Agile.
Así, la esencia de Kanban es un flujo continuo de tareas, la visualización de los procesos de trabajo y el trabajo posterior en el tablero Kanban. Scrum, por su parte, ofrece muchas más herramientas y prácticas, de las que hablaremos a continuación.
Los principios básicos de la metodología Scrum
Para que el trabajo en el producto sea eficaz, el equipo debe guiarse por los siguientes principios de la metodología Scrum:
-
Trabajar en ciclos cortos.
Estos ciclos se llaman sprints. Un sprint es un periodo corto y limitado en el que un equipo Scrum realiza una determinada cantidad de trabajo. Todas las actividades futuras se planifican únicamente dentro de un sprint. Además, cada ciclo de trabajo tiene objetivos y metas más estrechos que deben alcanzarse al final del sprint. En otras palabras, la metodología Scrum sugiere evitar planificar todo el proyecto de una sola vez, sino hacer la planificación para cada ciclo. Este formato permite responder a los retos con rapidez y corregir los fallos según sea necesario.
-
Flexibilidad.
La flexibilidad del proceso significa que el equipo siempre está preparado para los cambios, por ejemplo, en la estrategia o en las condiciones de desarrollo del producto. Para no perder el momento, es necesario probar el producto después de cada sprint. Es la única forma de identificar los errores que se hayan producido, que se tienen en cuenta a la hora de planificar el siguiente ciclo de trabajo. Son estas acciones las que ayudan tanto al equipo como al propio proyecto a ser más móviles y flexibles.
-
Implicación del cliente y el usuario en el trabajo sobre el producto.
Es un principio fundamental tomado de la filosofía Agile descrita anteriormente. La retroalimentación del cliente y los usuarios permite entender qué cambios deben hacerse en el producto para la mayor comodidad de los consumidores.
-
Estrecha interacción de los miembros del equipo entre sí.
Este también es un principio básico de todas las metodologías ágiles: los miembros del equipo trabajan juntos como una unidad. Es más, incluso la consecución de un objetivo es el fruto del trabajo conjunto de varias personas orientadas al mismo resultado.
Los valores de la metodología Scrum
El método Scrum está basado en cinco valores fundamentales;
-
Lealtad y compromiso. En el marco de la metodología Scrum, todos los empleados o miembros del equipo deben ser conscientes de los objetivos comunes, estar comprometidos con ellos y apoyarse mutuamente para alcanzarlos.
-
Enfoque o Concentración. La tarea principal para todos los miembros del equipo Scrum debe ser lograr el máximo progreso hacia el objetivo. Para ello, es necesario centrarse por completo en el desarrollo y mejora del producto.
-
Apertura. No sólo los miembros del equipo, sino también la dirección, los clientes y todas las partes interesadas deben estar abiertas a discutir todas las cuestiones y problemas emergentes.
-
Respeto mutuo. Todos los miembros del equipo Scrum se respetan mutuamente y no permiten comportamientos poco éticos.
-
Coraje. Permite a todos los miembros del equipo proponer las soluciones más audaces e inusuales a los problemas, que a menudo resultan ser las correctas y más eficaces.
Así, todas las actividades de los empleados deben estar dirigidas a reforzar estos valores y no a descuidarlos. Cuando todos los miembros del equipo comparten los mismos valores fundamentales, surgen tres "pilares" fundamentales de la metodología Scrum que sustentan el proceso de trabajo:
-
transparencia;
-
inspección;
-
adaptación.
La transparencia implica que todos los miembros del equipo Scrum están preparados y dispuestos a compartir sus logros y, a la inversa, sus dificultades a lo largo del camino. Después de todo, la metodología Scrum tiene como objetivo analizar e identificar las causas tanto del éxito como del fracaso. Recuerda que el objetivo clave es un producto de calidad, así que presta atención a todas las sutilezas de la producción que te preocupen o te generen dudas. No se debe ocultar ningún problema o error que se haya cometido.
El siguiente "pilar" es la inspección. Significa controlar y verificar el proceso de producción y ver cómo se está mejorando el producto. Implica responder a las preguntas: qué es fácil y qué es difícil, por qué es difícil, cómo solucionarlo y qué hacer para mejorarlo. No sólo permitirá resolver los problemas que ya se hayan producido, sino también eliminará los que surjan, lo que conducirá al objetivo principal: un producto de calidad.
El último "pilar" tiene que ver con la adaptación. Significa que todos los miembros del equipo Scrum deben estar dispuestos a adaptar todos los procesos para resolver los problemas detectados. En otras palabras, si se detectan problemas, hay que pensar inmediatamente en las formas más eficaces de cambiar la situación: por ejemplo, realizar cambios en la producción del propio producto, cambiar las condiciones de trabajo de los empleados o discutir nuevos acuerdos con el cliente.
Estos tres "pilares" están estrechamente relacionados, así que no descuides ninguno de ellos. Al fin y al cabo, si se realizan inspecciones periódicas, pero no se presta atención a la adaptación, no tiene sentido, porque el objetivo final es crear un producto de la mejor calidad posible.
Composición del equipo Scrum
El equipo Scrum es un grupo de trabajo de cinco a ocho personas. Es el número más óptimo, pero también hay grupos con menos personas. Por el contrario, si hay más de ocho personas, su interacción se complica, reduciendo la eficiencia y productividad del equipo.
Un equipo está formado por:
-
El propietario del producto.
Esta persona representa al producto y básicamente actúa como intermediario entre el cliente, los usuarios y el equipo de desarrollo. Sin embargo, lo más habitual es que el cliente sea también miembro del equipo Scrum.
-
El Scrum Master.
Debe ser un especialista capaz de llevar al equipo hacia el éxito. Pero, al mismo tiempo, debe dirigir el equipo de trabajo y asegurarse de que se siguen los principios de la metodología Scrum. Por lo tanto, dicho especialista debe mantener un equilibrio: no presionar a los empleados, pero tampoco hacer todo el trabajo él mismo. Al mismo tiempo, no está obligado a distribuir las responsabilidades entre los miembros del equipo. El Scrum Master sólo ayuda y guía mientras resuelve todas las dificultades que obstaculizan el proceso de creación del producto.
-
Los propios desarrolladores.
La composición de un equipo Scrum implica varios especialistas con diferentes habilidades y capacidades. De hecho, el nombre de "desarrolladores" es relativo porque el equipo de trabajo puede estar formado por diseñadores, programadores y especialistas en marketing, en función del producto. Esta diversidad permite a un equipo de varias personas crear un producto desde cero. Por cierto, una aclaración importante: un equipo = un producto final.
Etapas del trabajo del equipo Scrum
Estas son las etapas de la formación de un equipo Scrum y su funcionamiento:
Etapa 1. Reunir un equipo Scrum.
En primer lugar, hay que identificar a los profesionales que formarán el equipo Scrum, ya que su trabajo conjunto determinará la calidad del futuro producto. Recuerda que dentro del método Scrum, todos los miembros del equipo trabajan como un solo organismo. Además, la composición del equipo no debe cambiar, por lo que es importante contar con profesionales que compartan todos los valores de Scrum.
Etapa 2. Identificar al propietario del producto.
Puede ser el cliente o su representante. En cualquier caso, esta persona debe estar dispuesta a interactuar con el equipo, proporcionar retroalimentación, compartir su experiencia y ofrecer nuevas soluciones interesantes en todas las etapas de desarrollo.
Etapa 3. Elegir un Scrum Master.
El Scrum Master es la parte más crucial del equipo, ya que de él depende lo cómodo que será el proceso de trabajo para todos los miembros del equipo. Sin embargo, también es esencial entender que el equipo no debe tener un líder. Todas las actividades se basan en el intercambio mutuo de opiniones y conocimientos, y el Scrum Master desempeña el papel de mentor y ayuda al equipo a unirse. Así, el Scrum Master debe ser un especialista experimentado y familiarizado con la metodología Scrum en la teoría y en la práctica.
Etapa 4. Crear el backlog del producto.
El backlog es una lista ordenada de los elementos, las funciones y tareas que debe contener el producto. Debe elaborarse antes de iniciar el desarrollo propiamente dicho. En otras palabras, el backlog es una lista de todas las características y requisitos del producto que el propietario del producto y todas las partes deben acordar. A continuación, hay que atenerse a esta lista.
Etapa 5. Planificar un sprint.
Todos los sprints comienzan con la planificación. Al principio del sprint, se celebra una pequeña reunión de planificación en la que los equipos determinan qué se puede lograr en el sprint y cómo. A continuación, los miembros del equipo Scrum analizan juntos el backlog del producto y toman decisiones. Al final de la reunión de planificación, cada miembro del equipo debe saber lo que hay que implementar. En otras palabras, para cada sprint se establecen una meta y unos objetivos clave que los desarrolladores deben alcanzar al final del ciclo de trabajo. Así se genera el backlog del sprint, es decir, la lista de tareas para ese periodo. Además, en esta etapa es necesario fijar plazos para cada tarea.
Etapa 6. Llevar a cabo una Scrum meeting o Stand-up meeting.
Daily scrum es una reunión diaria breve de quince minutos (o incluso menos) para discutir los progresos e identificar los obstáculos. También puede llamarse "daily stand-up", porque es mejor celebrar la reunión de pie para evitar detener a los participantes más tiempo del necesario. La esencia de una reunión de este tipo es analizar el trabajo realizado e identificar el crecimiento (así se llama un paso en el camino hacia la meta en la metodología Scrum). Para ello, cada miembro del grupo debe responder a unas preguntas, por ejemplo:
-
¿Qué he conseguido hacer desde la última reunión?
-
¿Qué tengo que hacer hoy?
-
¿Cuáles son los obstáculos o dificultades?
En este caso, la tarea del Scrum Master es entender cómo van las cosas y, si algo va mal, ayudar al equipo a hacer frente a las dificultades.
Etapa 7. Utilizar un tablero Scrum
El tablero Scrum es una de las técnicas para visualizar el flujo de trabajo que también se utiliza en la metodología Kanban. Del mismo modo, el equipo Scrum cuelga una pizarra real en la pared o crea un tablero virtual dividido en partes específicas que reflejan todas las etapas del proyecto. Esta forma relativamente sencilla ayuda a todos los miembros del equipo a realizar un seguimiento del proceso de desarrollo y de los progresos.
Etapa 8. Realizar una retrospectiva del sprint.
Después de completar un sprint, se resumen los resultados logrados y se realiza una prueba del producto. En este punto, es necesario probar el producto y determinar si se han completado todas las tareas programadas para este ciclo. En función de esto, se realiza la planificación y generación de ideas para el siguiente sprint y así sucesivamente.
Se puede utilizar la metodología Scrum en cualquier campo, y los participantes de los equipos Scrum pueden ser especialistas en diferentes áreas. Sin embargo, el uso más común de Scrum es con equipos de software. Permite a los equipos responder rápidamente a los requisitos cambiantes y mantenerse dentro de un presupuesto. Por lo tanto, es difícil identificar las desventajas del método Scrum, pero es esencial considerar dónde sería más beneficioso aplicarlo. Para que el método sea eficaz, los empleados deben estar dispuestos a experimentar. Se puede aplazar el uso de la metodología Scrum si una empresa utiliza con éxito un algoritmo bien establecido para crear nuevos productos.