Scrum es una de las metodologías Agile para la gestión de proyectos, ampliamente usada en el desarrollo de software, pero con la capacidad de adaptarse a cualquier área que necesite mejorar su proceso productivo.
En la década de los 80, específicamente en el año 1986, Ikujiro Nonaka e Hirotaka Takeuchi publicaron un estudio en el Harvard Business Review llamado “El nuevo nuevo juego para el desarrollo de productos”, y en esta investigación utilizaron el término Scrum, para referirse al método empleado por empresas de manufactura y tecnología, como Toyota, Honda, Fuji-Xerox, Canon y Epson, en el desarrollo de productos.
El término hace alusión a la “formación de avance de equipos” empleado en el rugby, también conocida como melé. Dicha referencia sirvió para dar a conocer por primera vez la metodología Scrum como un modelo de trabajo en ascenso dentro de las compañías más renombradas, donde se requiere operar con mucha rapidez y flexibilidad.
Fue en el año 1993, cuando Easel Corporation y un equipo liderado por Jeff Sutherland popularizó la metodología Scrum para desarrollar software, desde ese momento nació el Software Development Process, una fructífera herramienta para el área tecnológica donde este método ha brindado aportes muy importantes.
El modelo Scrum se considera un marco de trabajo conformado por buenas prácticas que fomentan el trabajo en equipo. Su finalidad es optimizar todo el proceso productivo, tomando en consideración el tiempo y el aprovechamiento de los recursos humanos y técnicos. Se caracteriza por una orientación incremental, es decir, el progreso lo determina el avance del grupo y no la planificación.
Asimismo, se prioriza el recurso humano, sus conocimientos y la auto-organización. Está permitido solapar fases, podría decirse que Scrum es lo opuesto a las metodologías de cascada. Las buenas prácticas se organizan alrededor de distintos roles, eventos, reglas y tareas. Adicionalmente, se trabaja a través de entregas periódicas al finalizar cada sprint, un lapso de tiempo que precisa el mismo equipo.
Scrum es una metodología ideal para lograr una alineación perfecta entre lo que espera el cliente y el grupo responsable de crear el producto, para organizarse en ambientes de trabajo cambiantes donde los objetivos a cumplir son complejos o imprecisos al comienzo, por lo que debe operarse con mucha flexibilidad y con capacidad de pivotar en cualquier momento.
Igualmente, es una herramienta poderosa para aumentar la productividad, acelerar los resultados mientras se mantiene al equipo altamente motivado. En escenarios empresariales adversos, este modelo es usado para recuperar la satisfacción del cliente, optimizar la calidad y el tiempo entre entregas, evitar la pérdida de dinero en costes operativos y subir la motivación grupal, deteniendo la fuga de personal valioso.
Por su naturaleza, este modelo resulta ideal para proyectos que se puedan descomponer en partes más manejables. Se parte de una meta de negocio grande y a veces imprecisa que el equipo puede ir abordando conjuntamente. Algunos escenarios ideales para usar Scrum son:
Como toda metodología plantea sus ventajas y limitaciones. Te las mencionamos a continuación:
En este apartado detallaremos los conceptos más relevantes de esta metodología relacionados con la distribución de roles, las fases o sprints y las tareas.
Un grupo formado por un máximo recomendable de 10 profesionales que se encargarán del desarrollo del producto y de cumplir con las entregas durante cada sprint. Este equipo de ser multidisciplinario, es decir, los miembros deben tener todos los conocimientos y habilidades para llevar a cabo las tareas.
Asimismo, autoorganizado y con disponibilidad inmediata. Precisan, en conjunto, cuánta cantidad de trabajo puede o no asumirse en un sprint y cumplen con la responsabilidad de entregar un incremento del producto al finalizar el lapso de tiempo. En sus manos está decidir cómo van a lograr los incrementos, por lo que se requiere un equipo muy cualificado.
Esta persona delinea y gestiona el product backlog y mantiene el flujo de trabajo entre el equipo y el cliente. Su manejo sobre el product backlog es exclusivo, realiza sus modificaciones o perfeccionamientos, comunica a todos que hay en él y precisa sus prioridades. Puede contar con asistentes, pero la responsabilidad principal solo es asumida por un individuo.
Aunque tiene un rol importante, el Scrum Team debe ser proactivo, responsable, hacer las preguntas correctas y ayudar al Product Owner, quien suele ser un profesional destacado que llevará el producto a su mejor versión para satisfacer las necesidades del equipo, de la empresa y el cliente. Además, se encarga de hacer visibles los progresos en las entregas, decide qué cosas se deben hacer y cuáles se pueden postergar.
Es un líder servicial sin jerarquía sobre el equipo. Su objetivo principal es facilitar la aplicación de la metodología, por lo que debe tener amplios conocimientos sobre el Scrum y capacitar a otros en su uso. Evita las limitaciones, ayuda en las reuniones y apoya al Product Owner en las prioridades del backlog.
Con el Scrum Team se encarga de encontrar los mejores mecanismos técnicos que lleven al incremento del producto en cada entrega, impulsa la auto organización para la resolución de problemas y elimina obstáculos internos o externos. Es una persona con alta capacidad de liderazgo, una especie de coach para el equipo Scrum, que les estimula, les enseña y les guía en el proceso, reduciendo sus distracciones y promoviendo interacciones valiosas.
Es el recurso del Scrum más relevante de todos: la lista de ideas para el producto, las tareas que describen todos los requisitos de su elaboración y en el orden en cual se deben llevar a cabo.
Su elaboración está a cargo del Product Owner tomando en cuenta todos los requerimientos necesarios que debe tener el producto en su versión final. Su objetivo es ser una fuente de información auténtica para el equipo: todo lo que debe hacer, cada tarea está única y exclusivamente en el backlog. Por ello, requiere de actualización constante de los ítems que sean necesarios, con su respectiva descripción y estimación de tiempo.
El backlog con mucha frecuencia comienza como un listado corto y más bien impreciso, luego se va ampliando y detallando a medida el proyecto avanza. Las tareas se refinan gracias a una mayor definición y claridad que va aportando la experiencia. Finalmente, se construye gracias al Product Owner y la ayuda que este recibe del equipo.
Para actualizar los componentes del backlog se debe:
El sprint, también llamado iteración, es un ciclo o fase de corta duración que debe lograr un incremento o progreso del producto considerado un entregable al cliente como muestra de los avances logrados. Un sprint puede durar máximo un mes y al finalizar se debe hacer feedback y reflexión. En la metodología Scrum los proyectos se dividen en iteraciones las cuales se planifican de acuerdo a lo establecido en el backlog.
Se hace a partir de reuniones donde participan el Product Owner, el Scrum Master y el equipo para decidir sobre cuáles ítems se va a trabajar en el próximo sprint a comenzar. La planificación debe llevar a un consenso sobre las próximas tareas a completar. Se recomienda que la reunión no dure más de dos horas, por ello, es muy importante actualizar el product backlog para optimizar los tiempos de planificación.
Al finalizar la planificación se debe conseguir el sprint backlog, el listado de ítems elegidos para ser ejecutados en ese sprint y el plan que ha propuesto el equipo para conseguir los resultados. Recordamos que es el equipo quien decide la cantidad de trabajo a realizar.
El objetivo del sprint contiene el fundamento de lo que debe ser logrado en esa etapa. Con este recurso el equipo se mantiene enfocado en lo verdaderamente importante desechando detalles sin relevancia.
Es una reunión diaria de no más de 15 minutos para verificar el avance, comprobar que todo esté funcionando de acuerdo a lo estimado en el sprint, reconocer y prevenir posibles dificultades. Se trata de un encuentro rápido donde los miembros del equipo hablan de lo que han logrado desde el último Daily Scrum, si existe algún impedimento y lo que se espera alcanzar hasta la próxima reunión. Se permiten preguntas cortas y solo el equipo, el Product Owner y Scrum Master pueden intervenir. Al terminar el Daily Scrum el equipo puede reorganizarse de acuerdo a lo conversado previamente.
Es un tablero que sirve de apoyo visual durante un sprint, permite conocer de forma integral cómo va el proceso y cada una de las tareas a realizar para llegar a la culminación o Definition of Done. En este soporte se encuentran los ítems a completar y la persona responsable, organizados en columnas que especifican lo que está pendiente, lo que se está haciendo y lo que ya se ha realizado. Además, debe estar a la vista de todos.
Conocido como el gráfico de quemado es un diagrama que muestra el trabajo completado en comparación con la velocidad esperada para hacer las entregas en el calendario propuesto. Muestra la cantidad de ítems en un sprint y la velocidad calculada por la cantidad de ítems terminados en una iteración. Es una herramienta que sirve para predecir cuántos sprints son necesarios para completar el product backlog. Se puede añadir al Scrum Board y debe ser actualizado por el Scrum Master al terminar cada iteración.
La definición de “done” es cuando el incremento del producto alcanza la calificación compartida por el equipo, el Product Owner y el cliente dé por “terminado”, es decir, que el avance tiene la calidad requerida y esperada para ser lanzada. Esta definición se puede ir ampliando a medida el proyecto avanza, usualmente se va modificando para ir adquiriendo mayor nivel de exigencia.
Cuando un incremento alcanza la definición de hecho no pueden quedar tareas pendientes, asimismo se deben hacer todas las pruebas pertinentes de desempeño, usabilidad, seguridad, etc., para garantizar que se cumplan con los criterios de aceptación. Durante cada sprint se establecen los incrementos que han alcanzado esta definición y así proseguir con otros. Se recomienda plasmar todo esto en el Scrum board, pues se hacen visibles aquellas cosas que se han culminado con éxito antes de presentar al cliente en el sprint review.
Al finalizar un sprint se plantea una reunión convocada por el Product Owner para verificar el entregable y comprobar el incremento del producto junto con el cliente y recibir su feedback. Es una reunión informal a la cual se le asigna una hora por cada semana del sprint. Todos los miembros del equipo deben asistir. Por su parte, el Scrum Master se asegura de que el evento se realice con todos los convocados.
Se trata de una reunión interna para conocer cómo sucedieron las cosas, qué tal fue la organización del equipo, la comunicación y la interacción entre las personas. Evaluar el modo de proceder y las herramientas utilizadas, precisar los problemas y sus causas, prevenirlos y reconocer potenciales limitaciones y posibilidades de mejoras. Se recomienda no hacer reuniones de más de una hora por cada semana de sprint.
Conseguir una certificación como Scrum Master es un valor añadido para cualquier perfil profesional y requisito fundamental para dedicarse a la gestión de proyectos. Existen diversos cursos y certificaciones que avalan los conocimientos y aptitudes requeridas para poner en práctica esta metodología.
Las instituciones más reconocidas para conseguir una certificación son: Scrum.org, Scrum Alliance, Scrum Inc., y el Project Management Institute, este último también especializado en otras metodologías Agile.
Otras alternativas, pero sin tanto prestigio son: el Consorcio Internacional Ágil y Scaled Agile Academy. Las certificaciones pueden ir desde los conocimientos básicos a los reconocimientos más profesionales y avanzados. Además, deben renovarse periódicamente. Los cursos de Scrum Alliance suelen ser los más buscados porque se consiguen en muchos países y los profesores cuentan con una amplia trayectoria.
Te daremos una recopilación de 5 de las mejores herramientas digitales que se pueden aprovechar para aplicar Scrum.
La palabra Agile proviene del Agile Manifesto del año 2001, que hace referencia a la agrupación de diversas metodologías del desarrollo de software entre las que se encuentra Scrum como un subconjunto. Todas ellas basadas en el incremento a través de iteraciones y en oposición a los tradicionales métodos de gestión en cascada.
Desde un punto de vista general el enfoque Agile se fundamenta en principios y valores que guían el ciclo de vida del producto. Scrum es una representación de ese enfoque a través de todas las buenas prácticas y procesos que hemos explicado en los puntos anteriores.
Como verás no son dos cosas incompatibles, pues para muchos expertos Agile es la filosofía o metodología que impulsa el marco de trabajo de Scrum de acuerdo a unas prácticas recomendadas, y su uso depende del objetivo del proyecto, la situación actual en la empresa y las capacidades del equipo.
Kanban es otra metodología Agile para la gestión de proyectos que se centra en el flujo de trabajo visual a través de un tablero. A diferencia de Scrum no contempla el cumplimento de tareas por etapas, sino que hace un seguimiento del estado de los proyectos.
Tampoco considera la inclusión de roles y los equipos pueden ser más especializados y no multidisciplinarios. Sin embargo, al igual que Scrum se basa en la auto organización, pero vista como la capacidad de llevar a cabo el trabajo de forma individual y luego reportar los avances.
Kanban se considera una metodología más flexible y sencilla de aplicar en las empresas, pues los proyectos no se enmarcan en sprints cerrados, las tareas se pueden modificar y exige menos supervisión administrativa. Además, es posible abordar diversos proyectos al mismo tiempo, los cuales se soportan en un tablero que funciona a modo de tarjetas con tres clasificaciones: Pendiente, en proceso y terminado (to do, in progress and done). Kanban es similar, hasta cierto punto, al tablero de Scrum, pero este último funciona de acuerdo a los sprints y el alcance que determine el equipo.
Son dos aproximaciones completamente diferentes a la gestión ágil de proyectos, con sus fortalezas y desventajas que deben evaluarse a la hora de aplicarlas. La metodología Kanban puede resultar muy conveniente para el flujo de trabajo diario donde los proyectos no generan alto riesgo y no hay tanta imprecisión de los objetivos. Scrum como metodología es más completa y compleja, pero está pensada para lograr un aumento considerable de la productividad y la calidad en corto tiempo.
En la actualidad el Scrum pertenece al enfoque de desarrollo ágil de software, el cual dirige la toma de decisiones a través de métodos incrementales aplicados por equipos multidisciplinarios. No obstante, sus aplicaciones abarcan la producción de productos donde interviene la experiencia, la complejidad, el riesgo y la necesidad de flexibilidad en proyectos de corto plazo.
Su uso se recomienda entre grupos pequeños, los cuales deben ser autoorganizados y multidisciplinarios. Su objetivo es lograr el avance grupal y no considera efectivo el trabajo individual, pues limita la integración. Los proyectos se organizan a través sprint o iteraciones que se deben cumplir en un lapso de tiempo para dar como resultado un incremento del producto que se considere un entregable terminado y completamente funcional.
Su éxito depende de la responsabilidad y compromiso, así como de la participación activa de roles cruciales como el Product Owner y el Scrum Master. Finalmente, es una metodología viable dentro de empresas con estructuras menos diversificadas como una StartUp o Pyme, en el caso de empresas de mayor tamaño es necesario aplicar divisiones dentro de los departamentos involucrados para satisfacer las necesidades y metas de negocio que se tengan planteadas.