El método Scrum es un subconjunto de agile. Es un marco de proceso ligero para el desarrollo ágil y el más utilizado. Ligero significa que la carga del proceso se mantiene lo más pequeña posible para maximizar la cantidad de tiempo productivo disponible para realizar un trabajo útil.
Índice:
1. Breve introducción sobre Scrum.
2. Principales características de Scrum.
4. Diferencias entre el método scrum y las metodologías tradicionales.
5. ¿Cuáles son los pasos de la metodología?.
6. Planificación de la iteración.
9. Ventajas de la metodología scrum.
12. ¿En qué situaciones da mejores resultados?
13. Posibles problemas de Scrum.
Breve introducción sobre Scrum
Un marco de proceso es un conjunto particular de prácticas que deben seguirse para que un proceso sea coherente en dicho marco. Los roles principales de Scrum son el Scrum Master, que procura facilitar la aplicación de Scrum y gestionar cambios, el Product Owner, que representa a los Stakeholders (interesados externos o internos) y el Team (equipo) que ejecuta el desarrollo y demás elementos relacionados con él.
Un proceso Scrum se distingue de otros procesos ágiles por conceptos y prácticas específicas divididos en las tres categorías de roles, artefactos y cajas de tiempo. Scrum se usa con mayor frecuencia para administrar un software complejo y desarrollo de productos utilizando prácticas iterativas e incrementales.
Scrum aumenta significativamente la productividad y reduce el tiempo de obtención de beneficios en relación con los procesos tradicionales de cascada. Los procesos de Scrum permiten a las organizaciones ajustarse sin problemas a los requerimientos que cambian rápidamente y producir un bien que cumpla con los objetivos comerciales en evolución.
Principales características de Scrum
- Gestión regular de las expectativas del cliente, resultados anticipados, flexibilidad y adaptación y retorno de la inversión, reducción de riesgos, productividad y calidad.
- Se utilizan equipos autodirigidos y autoorganizados.
- Se realizan reuniones de avance con el objetivo de obtener realimentación sobre las tareas del equipo y los obstáculos que se presenten.
Un proceso Scrum beneficia a una empresa de esta forma:
- Incrementar la calidad de los entregables.
- Afrontar mejor el cambio y esperar los cambios.
- Proporciona mejores estimaciones mientras dedicas menos tiempo a crearlas.
- Tener más control sobre el cronograma y el estado del proyecto.
Historia de Scrum
El concepto de scrum se origina a partir de un estudio de 1986 realizado por Ikujiro Nonaka y Takeuchi, acerca de los nuevos procesos de desarrollo implementados en productos de gran alcance en Estados Unidos y Japón (las fotocopiadoras Xerox, los automóviles Honda, computadoras HP, cámaras Canon, entre otras). Para desarrollar estos productos, los equipos de proyectos encargados de los mismos partían de requerimientos bastante generales, innovadores, los cuales debían salir al mercado en menos tiempo del que emplearían otros productos.
En el estudio se estableció una comparación entre equipos altamente productivos y multidisciplinarios con la colaboración entre jugadores de Rugby y su formación de scrum. De ahí que el nombre scrum haga referencia a la formación de melé del rugby. Scrum es melé en inglés.
En 1993 se efectuó el primer trabajo scrum para desarrollo de software y a partir de 1995 el proceso fue formalizado. En 2001, un equipo de desarrollo de la metodología agile se encargó de redactar los principios fundamentales de los procesos ágiles.
Entre las empresas conocidas que utilizan la metodología scrum podemos mencionar las siguientes: BBC, Sony Ericsson, Telefónica, Motorola, Nokia, Qualcomm, Telecom, Amazon, Google, Adobe, Microsoft, IBM, Intel, Verizon, Yahoo, mySpace, SAP, Blizzard, entre otras.
Diferencias entre el método Scrum y las metodologías tradicionales
La gestión de proyectos basada en la metodología tradicional se orienta particularmente a la ejecución de una extensa planificación inicial y pormenorizada para realizar todos los proyectos, al margen de si los requisitos son conocidos o no. En estas metodologías se destaca la planificación inicial para asegurar la fijación de las variables de alcance, tiempo y costos. Al ser de duración extensa, se pone mucho énfasis en planificar las distintas instancias del proyecto.
Sin embargo, en el entorno fluctuante de esta época, los requerimientos llegan a cambiar y no es extraño que toda esta planificación inicial se convierta en un gasto de recursos innecesarios, si llega a haber un cambio importante en la especificación posterior.
Las metodologías ágiles, en cambio, de la cual pertenece scrum, se enfocan en el trabajo en equipo, las entregas frecuentes de software en funcionamiento, eventos de tiempo, colaboración con los clientes y además tiene capacidad de respuesta mucho más rápidamente. Scrum es una de las formas más utilizadas y comunes de agile. A diferencia de las metodologías tradicionales, scrum promueve la toma de decisiones iterativas y reduce el tiempo definido en las variables desconocidas, que están sujetas a cambios. En este sentido, scrum se adapta a los cambios como no lo hace ninguna de las metodologías tradicionales.
Scrum se preocupa por entregar la mayor cantidad de valor al cliente en el periodo de tiempo más reducido, permitiendo que un producto o entrega se materialice al final de cada iteración.
Por el contrario, la gestión de proyectos con scrum basada en las metodologías tradicionales es resistente a los cambios, por lo que sigue el trayecto de un sistema de gestión de cambios formal. Además, recién cuando finaliza el proyecto se puede hablar de retorno de la inversión y la intervención o participación de los clientes puede variar según el ciclo de vida del proyecto.
La metodología agile-scrum, al seguir un proceso iterativo, dividido en sprints de corta duración, se invierte menos tiempo en la planificación inicial, por lo que la priorización de requerimientos se basa en el valor comercial. Asimismo, este método mantiene un estilo autoorganizado, en donde las personas no son administradas por terceros. Las iteraciones de scrum permiten gestionar cantidades de actividades más reducidas y cortas, lo cual favorece cualquier tipo de cambio o actualización que amerite la prioridad del proyecto.
Por último, en la metodología scrum, se consigue más rápido el retorno de la inversión, puesto que la entrega se realiza por etapas y se recibe a lo largo del ciclo de vida del proyecto. Como es un método de colaboración con el cliente, su participación en el proyecto es muy alta y no solamente cuando se requiere efectuar cambios en el proceso del proyecto.
¿Cuáles son los pasos de la metodología?
La metodología scrum en un proyecto se realiza en ciclos temporales cortos y de duración fija. Las iteraciones pueden durar de dos a tres semanas, aunque pueden extenderse a cuatro, que es el límite máximo del feedback del producto real. Cada iteración debe generar resultados completos, una parte del producto final que sea factible de ser entregado al cliente realizando un mínimo esfuerzo.
El proceso comienza con la lista de objetivos requeridos por el producto o proyecto. En esta lista se priorizan los objetivos, expresando el valor que le aportan en relación con el costo. Luego de establecer esto, se reparten las etapas en iteraciones y entregas.
A continuación, enumeramos las actividades que se realizan para ejecutar un proyecto en la metodología scrum.
Planificación de la iteración
El primer día se realiza la reunión de iteración, la cual incluye dos partes:
1. Selección de requerimientos
En esta primera iteración, el cliente presenta la lista de requerimientos para el proyecto. Durante ese tiempo, el equipo debe aprovechar para preguntarle al cliente acerca de todas las dudas que le vayan surgiendo y prioriza aquellos requerimientos que considera viable completar al término de la iteración, en caso de que el cliente los necesite.
2. Planificación de la iteración
Una vez que ya se conoce la lista de requerimientos del cliente y se definieron las actividades, se deberá proceder a crear una lista de tareas de la iteración necesarias para obtener los requerimientos El cálculo del esfuerzo se realiza de forma conjunta y son los integrantes del equipo quienes se autodesignan las tareas, buscando alcanzar ciertos objetivos
Ejecución de la iteración
En esta instancia los miembros del equipo realizan una reunión de sincronización, que según los recursos con los que cuenten, pueden hacerlo frente a un tablero de control o pizarra física. Aquí el equipo se encarga de supervisar el progreso del trabajo que el resto de los integrantes están realizando, a fin de identificar las interrelaciones entre las distintas tareas y los posibles obstáculos que vayan surgiendo a medida que se va avanzando en el proceso.
Hacer esto permite a las personas del equipo poder adaptarse a los diversos cambios que puedan presentarse o sean necesarios efectuar en determinados momentos para cumplir con la previsión de los objetivos al final de cada iteración.
Durante la reunión, cada integrante del equipo puede responder a las siguientes cuestiones: a) avance de las actividades desde la última reunión de sincronización para cumplir el objetivo. b) actividades a realizar a partir de ahora para cumplir el objetivo. c) obstáculos que se nos presentaron para cumplir con el objetivo.
Además, el scrum master, que es como el director de proyecto cuando se utiliza el método scrum, es el encargado de que su equipo mantenga el foco en el objetivo a cumplir, ayudando a resolver los problemas, reducir los obstáculos y eliminar las desviaciones externas que puedan retrasar el avance de las actividades.
Inspección y adaptación
En esta última instancia de la iteración, se organiza una reunión de revisión de la iteración ya realizada a través de dos pasos:
1. Revisión
El equipo presenta al cliente los requisitos completados en la iteración, en forma de incremento de producto preparado para ser entregado con el mínimo esfuerzo. En función de los resultados mostrados y de los cambios que haya habido en el contexto del proyecto, el cliente puede realizar las adaptaciones necesarias de manera objetiva, ya desde la primera iteración, replanificando el proyecto.
2. Retrospectiva
El equipo analiza la modalidad para trabajar y qué tipos de problemas podrían impedirle progresar adecuadamente, mejorando de manera continua su productividad. El scrum master se encargará de eliminar o escalar los obstáculos identificados que estén más allá del ámbito de acción del equipo.
Ventajas de la metodología Scrum
Scrum es una propuesta de gestión basada en la división del trabajo en iteraciones, es decir, fases con objetivos y tareas específicas. Esto permite que necesariamente aporte beneficios en aspectos como los que destacamos:
-
Gestión de las expectativas del usuario
Los usuarios pueden participar en cada una de las etapas del proceso y proponer soluciones. De hecho, el proceso en su conjunto está pensado para un tipo de evaluación conjunta. -
Resultados anticipados
Cada etapa del proceso arroja una serie de resultados. No es necesario, por tanto, que el cliente espere hasta el final del proyecto para visualizar el resultado. -
Flexibilidad y adaptación a los contextos
Se adapta a cualquier contexto, área o sector de la gestión. Es decir, no es una técnica exclusiva de ninguna disciplina. -
Gestión sistemática de riesgos
Del mismo modo, los problemas que aparecen durante los procesos de gestión que pueden afectar a un proyecto son gestionados en el mismo momento de su aparición. Esto es posible debido a que la intervención de los equipos de trabajo puede ser inmediata.
Desventajas
Sin embargo, la metodología de gestión de proyectos scrum también presenta algunos inconvenientes que es necesario identificar antes de decidirse por incorporarla. A continuación, se enumeran las siguientes limitaciones en cuanto a su implementación:
-
Funciona más que nada con equipos reducidos.
Las empresas de mayor tamaño, por ejemplo, deben estar sectorizadas o divididas en grupos que tengan objetivos concretos. De lo contrario, en la práctica, el efecto de la técnica se perderá. -
Requiere una exhaustiva definición de las tareas y sus plazos.
Cuando estos dos aspectos no se definen adecuadamente, Scrum se desvanece. Recuerda que la división del trabajo en cada etapa (y de éstas en tareas específicas) son la esencia de esta metodología. -
Exige que quienes la utilicen cuenten con una alta cualificación o formación.
No es una modalidad de gestión propia de grupos junior o que apenas están en proceso de formación. Gran parte del éxito de Scrum radica en la experiencia que aportan los profesionales de los equipos, quienes por lo general acumulan años de experiencia.
Herramientas de Scrum
Es posible identificar tres herramientas del método scrum. Estas son el backlog del producto, backlog del sprint y objetivo del sprint.
1. Backlog del producto:
Constituye la lista principal del trabajo a realizar por el propietario o gestor del producto. Esta lista tiene la característica de ser dinámica, cuyos requisitos, funciones, correcciones y mejoras operan como entrada al backlog del sprint. El propietario del producto se encarga del trabajo de revisión, supervisión del backlog del producto, puesto que es necesario estar atento a los constantes cambios del mercado y no conviene correr el riesgo de estar desactualizado.2. Backlog de sprint:
Hace referencia a la lista de elementos, historias de usuario y correcciones de fallos, seleccionada previamente por el equipo de desarrollo con el fin de implementarlo en el actual ciclo de sprint. En la reunión de planificación de sprint es el equipo quien elige los componentes en los cuales va a trabajar para el sprint del backlog del producto, además, esta herramienta es flexible y permite cambios, mientras no se desvíe del objetivo original.
3. Objetivo del sprint:
Es el producto final que deriva de un sprint. Se trata básicamente del resultado que se obtuvo al término de todo el proyecto y lo que se entrega al cliente. Como durante las iteraciones hubo seguimiento del proyecto por parte del o los clientes, la entrega del producto tendría que tener de antemano una visibilidad importante, por lo que no debería requerir cambios relevantes.
¿En qué situaciones da mejores resultados?
Si bien los que utilizan con mayor frecuencia el método Scrum son los equipos de desarrollo de software, sus principios y protocolos pueden aplicarse a todo tipo de trabajo en equipo.
Considerado muchas veces como un marco de gestión de proyectos ágiles, Scrum integra un conjunto de reuniones, herramientas y funciones que ayudan a los equipos de proyectos a facilitar el trabajo y ejecutarlo más rápido, obteniendo un mayor seguimiento del proceso, a fin de anticipar los posibles cambios del mercado en tiempo real y no cuando sea demasiado tarde para implementarlos.
Posibles problemas de Scrum
Además de las desventajas enumeradas anteriormente, puede suponer un gran desafío para las empresas que trabajaron con las metodologías tradicionales, suponer que cambiar a Scrum es lo mejor para llevar a cabo sus proyectos de manera más rápida y exitosa, cuando los equipos están acostumbrados a cumplir tareas específicas y lineales.
Un primer problema que puede surgir con Scrum es que los miembros de un proyecto tengan dificultades al asumir una enorme responsabilidad de autogestión para decidir cómo llevar a cabo el progreso de las iteraciones.
También es posible que los project manager, al hacer la transición al product owners, no comprenda la importancia de mantener una interacción permanente con los equipos para saber qué requerimientos o problemas pueden surgir.
Y por último, puede suceder que el scrum master o facilitador de equipos scrum se exceda en sus funciones no considerando las opiniones de su equipo. Por ejemplo, una nota de este tipo sería que un facilitador se resista a implementar cambios durante una iteración por suponer que afectará el cumplimiento del objetivo final.
Conclusión
En síntesis, Scrum es un método de Agile que ha demostrado ser muy eficiente para ejecutar proyectos de desarrollo de software. Es más rápido que las metodologías tradicionales en obtener resultados y también su proceso es más flexible, aunque no es tan recomendable en equipos muy numerosos y que no están acostumbrados a asumir responsabilidades permanentes.
¿Nos dejas un comentario?