Published on: August, 2016
- Methodologies •
- Spanish
Las metodologías ágiles son cada vez más utilizadas. Si bien su predominio es en el área del desarrollo de productos de software, hoy la metodología ha sido adoptada por otras industrias como la automotriz.
Países como Estados Unidos, Canadá y el Reino Unido están entre aquellos que han liderado la adopción de estas metodologías y donde hoy son ampliamente aceptadas. Sin embargo, en Latinoamérica la situación es distinta, y Scrum aún es un concepto nuevo en el que pocas empresas se animan a incursionar.
Las metodologías ágiles en general y Scrum en particular tienen una gran cantidad de beneficios para quienes las implementan. Entre las más importantes encontramos:
En este whitepaper queremos compartir las bases de esta metodología así como sus ventajas para las empresas que lo adoptan.
Existe gran cantidad de material al respecto, y numerosos cursos para certificarse en los diferentes roles principales de un equipo de Scrum. Si este whitepaper despierta tu motivación, te invitamos a compartir tu experiencia y comentarios en nuestra página de LinkedIn.
Scrum es una metodología que permite encarar soluciones a problemas complejos, a partir de dividir el total en partes más manejables, medibles y entregables, con alta interacción, transparencia, feedback y flexibilidad. De esta forma se disminuyen riesgos y se logra entregar software funcional desde una primera iteración.
Entre sus características principales, encontramos que este framework es:
Scrum permite trabajar con procesos y técnicas variadas. La entrega incremental de producto propuesta por la metodología permite hacer más transparente la eficacia de las diferentes estrategias de management y prácticas de desarrollo implementadas, permitiendo hacer correcciones en plazos más cortos y de manera más dinámica que en metodologías tradicionales y estructuradas como la metodología de cascada.
En resumen, Scrum consiste en Roles, Eventos, Artefactos y las reglas para que todos estos funcionen de manera eficiente, entregando piezas de producto que funcionan y agregan valor.
Los equipos de Scrum son equipos auto-organizados y multifuncionales. El mismo equipo tiene la capacidad de planear, estimar y elegir la mejor manera de cumplir con su trabajo en lugar de requerir direccionamiento de agentes externos y cuenta dentro de su plantel con los recursos necesarios para funcionar libre de dependencias.
El modelo de equipos en Scrum está pensado para optimizar la creatividad, la innovación, la productividad y la flexibilidad. A medida que el proyecto avanza, estos equipos entregan partes del producto en forma iterativa e incremental, maximizando las oportunidades de feedback desde el negocio y asegurando la entrega de versiones potencialmente utilizables.
El team de scrum está compuesto por 3 actores principales:
El Product Owner es el responsable de maximizar el valor del producto y hacer significativo el trabajo del equipo de desarrollo para el negocio. Es quien debe conocer a fondo los objetivos, plazos y requerimientos del producto que se está creando para ayudar al equipo de Scrum a estar en sintonía. Además, PO debe proveer feedback constante y es el único responsable del manejo del backlog (reserva de tareas pendientes) del producto.
Son los profesionales técnicos que llevan a cabo el desarrollo y testing del código para entregar un fragmento funcional de un producto específico, que sea utilizable y provea un valor representativo para el negocio, al fin de cada sprint o iteración. Los equipos de desarrollo en Scrum organizan su trabajo en forma autónoma e independiente.
Cabe aclarar que tanto el Product Owner como el Scrum Master no son considerados parte del equipo de Desarrollo.
El Scrum Master es el encargado de facilitar los eventos de Scrum. Es el responsable de asegurar que Scrum es ejecutado y entendido por todos los actores. Es un facilitador que lidera y está al servicio del equipo. Guía, además, a los actores por fuera del equipo identificar qué aportes e interacciones con el equipo son útiles y cuáles no.
El Scrum Master ayuda a generar y corregir las interacciones de los involucrados en un proyecto a fin de fin de maximizar el valor creado por el equipo de Scrum.
La metodología Scrum prescribe eventos en forma regular a fin de optimizar tiempos, trabajo y controles. El evento principal de Scrum es el Sprint, o período durante el cual es creado el entregable acordado. La duración del Sprint es acordada entre el PO y el Scrum Master, generalmente entre 1 (una) y 4 (cuatro) semanas de acuerdo a la complejidad de los requerimientos y tamaño y seniority del equipo.
Los sprints se suceden en forma ininterrumpida y cada uno de ellos consta de los siguientes eventos:
Sprint Planning: es la reunión durante la cual se plantean los objetivos a lograrse durante la iteración que comienza y se distribuyen las tareas entre los integrantes del equipo.
Daily Scrums (o stand-up meetings): son reuniones diarias, cortas en las cuales cada miembro del equipo comparte con el resto qué hizo el día anterior, qué planea hacer este día y resuelve cualquier bloqueo que pueda tener para avanzar.
Sprint Review: Es una reunión informal donde participa el equipo completo y todos los interesados para revisar la iteración entregada en el sprint ya finalizado. Es el momento donde se revisan posibles optimizaciones y cambios en el backlog de producto.
Sprint Retrospective: una vez terminado el sprint, se hace una revisión de lo sucedido para ajustar así cualquier desviación o prevenir situaciones en los próximos sprints. Sólo el equipo de Scrum participa en esta reunión.
El equipo tiene constante feedback de los usuarios finales y los encargados del negocio. Además, los ejercicios de retrospección permiten identificar aciertos y debilidades para su corrección.
Una de las ventajas de Scrum es la transparencia, visibilidad y capacidad de llevar un registro de todo lo que se ha hecho o planeado hacer. Para ello existen los Artefactos de Scrum.
Están diseñados para maximizar la transparencia de información clave relativa al progreso del proyecto. De esta manera tanto el equipo como los actores externos tienen visibilidad total sobre las tareas, el progreso, etc.
El product Backlog es la lista ordenada y priorizada de todos los aspectos requeridos para la construcción del producto y debería constituir siempre la única fuente de requerimientos a la que acude el equipo.
El Product Owner es quien responde por el product backlog, su contenido, disponibilidad y orden.
Es el conjunto de ítems del Product Backlog seleccionados para ser entregados durante el sprint.
El Sprint Backlog hace visible todo el trabajo que el equipo de desarrollo ha identificado (e incluido en tareas) como necesario para poder alcanzar los objetivos del sprint o “Sprint Goal”.
El incremento es la suma de todos los items del product backlog completados durante el sprint más la suma de los incrementos de los sprint anteriores.
Scrum es un modelo orientado a la optimización del funcionamiento de un equipo de trabajo dado que potencia la creatividad, innovación, productividad y flexibilidad de sus miembros. A la vez, garantiza la obtención de un producto que satisfaga al cliente al desarrollarse el proyecto en forma iterativa, dejando de esta forma un marco para la optimización luego de la devolución del Sprint Review.
Sin embargo, a pesar de sus múltiples beneficios también debemos tener en cuenta que las metodologías ágiles, y particularmente Scrum, no son la mejor opción en todos los escenarios. Hay proyectos que por su interacción o interdependencia con otras áreas o proyectos de la empresa, por legado o por la falta de seniority de los miembros del equipo no se adaptan totalmente a Scrum, o deben buscar un intermedio entre lo tradicional y lo ágil. En este link encontrarán una herramienta para saber que tan híbrido o puro es un proyecto en base a los conceptos claves de Scrum para poder decidir qué metodología aplicar en cada caso.
Para más información se puede acceder al Agile Manifesto. Contiene las bases sobre las que se rige Scrum, así como links para cursos de certificación y capacitación alrededor del mundo.
En Belatrix 99% de nuestros proyectos utilizan metodologías ágiles. Si quieres saber cómo podemos incrementar el valor agregado de tus productos, así como reducir el tiempo de desarrollo e incrementar el retorno de la inversión, te invitamos a contactarnos. ¡Siempre estamos dispuestos a conversar!