Las metodologías ágiles son un sistema de valores y principios que se presentan en nichos específicos de gestión de proyectos. Usualmente están presentes en el desarrollo de software, sin embargo, también son aplicables en cualquier otro tipo de proyecto.
Uno de los elementos más destacados asociados con Ágil, es la capacidad de adaptarse y responder al cambio. En estas metodologías se precisa rapidez y flexibilidad. Los proyectos se dividen en pequeñas partes (Iteraciones) que tienen que completarse y entregarse en pocas semanas. En estas metodologías la comunicación continua con el cliente es esencial para captar sus prioridades cambiantes y poder entregar un producto o servicio con la mejor calidad.
Antecedentes
En el año 2001, los líderes de opinión en la industria del software formalizaron el proceso Ágil, a través de la publicación del manifiesto para el desarrollo de software Ágil, el cual contiene un conjunto de valores, principios y prácticas ágiles para hacer que la creación de soluciones de software sea más efectiva, humana y sostenible.
Gracias al manifiesto, hoy en día contamos con 12 principios que establecen la guía para el desarrollo de software a través de las metodologías ágiles, los cuales son aplicados cabalmente en RevTech Developers desde el día de su fundación:
- Entregas tempranas y continuas de valor.
- Bienvenidos los requisitos cambiantes, la adaptación es una ventaja competitiva.
- Entregas periódicas funcionales.
- Trabajo colaborativo entre los miembros de la organización.
- El proyecto se construye en un ambiente de motivación, confianza y respaldo.
- Comunicación entre el equipo cara a cara.
- Se mide el progreso a través de entregas funcionales.
- Todos los involucrados deben mantener un ritmo constante de forma indefinida.
- Excelencia técnica y buen diseño.
- Simplicidad.
- Equipos auto organizados.
- Reflexión regular sobre conductas más eficaces y eficientes.
Principales metodologías ágiles
La elección de la metodología se realiza en función de las necesidades de cada proyecto, de los requerimientos del cliente y del equipo de trabajo con el que se cuente. Lo anterior, con la finalidad de elevar el nivel de certidumbre en el éxito del proyecto. A continuación, te presentamos algunos ejemplos de metodologías agiles:
MÉTODOLOGÍA LEAN
Filosofía empresarial cuyo objetivo es reducir el desperdicio en todos los procesos comerciales. El resultado es una reducción del costo y el tiempo de entrega, así como un aumento de la calidad.
En 1996 Womack y Jones publicaron el libro “Lean Thinking: Banish Waste and Create Wealth in Your Corporation”, introduciendo 5 principios básicos:
- Especificar el valor a los ojos del cliente: en otras palabras, proporcionar al cliente valor en el momento adecuado, a un precio apropiado y según lo definido en cada caso por el cliente.
- Identificar el flujo de valor para cada producto: es decir, todas las actividades desde la obtención de la materia prima, hasta que llega a las manos del cliente. Es necesario crear un mapa del flujo de actividades, tal y como se desarrolla en la actualidad, para posteriormente, identificar los desperdicios y modificaciones que puedan aumentar el valor.
- Hacer que el valor fluya eliminando el desperdicio: es necesario crear un flujo continuo mediante la eliminación de los flujos de retorno, rechazo, retrabajo e interrupciones.
- Solo producir por órdenes del cliente: evitar entregar valor antes de que el cliente lo solicite.
- Mejorar continuamente en la búsqueda de la perfección: implica que la mejora del proceso sea interminable. Se debe cuestionar constantemente el valor de todas las actividades.
METODOLOGÍA SCRUM
Es un framework o conjunto de buenas prácticas para la gestión de proyectos, se compone de los siguientes 3 elementos:
1. Storytelling
Las storytelling son descripciones cortas y esquemáticas, que resumen la necesidad concreta de un usuario al utilizar un producto o servicio, así como la solución que la satisface. Se debe tomar en cuenta el rol, funcionalidad, resultado esperado, criterios de aceptación (hasta un máximo de 4), el contexto, evento y comportamiento esperado. Todo lo anterior en una frase corta.
2. El Scrum Team
El Scrum Team es autoorganizado y multifuncional, este modelo está diseñado para optimizar la flexibilidad, creatividad y productividad. El Scrum Team entrega productos de forma iterativa e incremental, maximizando las oportunidades de obtener retroalimentación.
El Scrum Team se compone de los siguientes integrantes:.
Product Owner: es el responsable de maximizar el valor del producto resultante que lleva a cabo el Development Team. Es la única persona responsable de gestionar la Product Backlog, considerando los siguiente aspectos:
- Expresar claramente los elementos.
- Ordenar los elementos para alcanzar los objetivos y misiones de la mejor manera posible.
- Optimizar el valor del trabajo que realiza el Development Team.
- Asegurar que la Product Backlog es visible, transparente y clara para todos.
- Asegurar que el Development Team entiende los elementos al nivel necesario.
Development Team: consiste en los profesionales que desempeñan el trabajo de entregar un incremento de producto “Terminado”, que potencialmente se pueda poner en producción al final de cada Sprint. Los equipos son estructurados y empoderados por la empresa, para organizar y gestionar su propio trabajo. La sinergia resultante optimiza la eficiencia y efectividad.
Scrum Master: es el responsable de asegurar que la metodología es entendida y adoptada, asegurándose de que el equipo trabaja ajustándose a la teoría, prácticas y reglas de Scrum.
3. Elementos utilizados
• Product Backlog: Es simplemente la lista de tareas a realizar. Ahí se especificará a alto nivel cada una de las funcionalidades que deberá tener el producto final a completar.
• Diagrama de Burndown: Lleva el rastro del trabajo hecho cada día y el tiempo restante hasta el final del lanzamiento. Es relevante solo para el sprint dado.
• Sprint Backlog: con respecto a la lista de producto, el Product Owner escogerá un conjunto de tareas que el Development Team pueda hacer durante un Sprint, es decir un período de tiempo, frecuentemente 2 semanas.
• Sprint Review: Al final del Sprint se lleva a cabo una revisión, para inspeccionar el avance y adaptar la Product Backlog, si fuese necesario. Durante la revisión se comenta el trabajo realizado y se hace una demostración.
• Sprint Retrospective: es una oportunidad para el equipo de inspeccionarse a sí mismos y crear un plan de mejoras que sean abordadas durante el siguiente Sprint.
• Definition of “Done”: Esta es la definición de “Terminado” para el equipo y se utiliza para evaluar cuándo se ha completado el trabajo sobre el Incremento de producto. Los miembros del equipo deben tener un entendimiento compartido de lo que significa que el trabajo esté completado, para asegurar la transparencia.
No olvides revisar el mapa conceptual con respecto al tema, si te gusto el artículo, ayúdanos a compartirlo.