Metodologías Ágiles - Marcos Ágiles
- Lissette IPS
- 28 sept 2020
- 4 Min. de lectura
Actualizado: 8 feb 2021
Estaremos utilizando el término de Metodologías ágiles ya que es el mas conocido, pero cuando hablamos de agilidad el termino mas adecuado es el de Marcos de trabajo agiles, ya que no se trata de una metodología como tal, pero lo veremos en otra entrega.
En muchas ocasiones tenemos que gestionar proyectos donde el cliente no tiene claro aún todo lo que desea o bien los que vendrían siendo los requerimientos. Situaciones como estas suelen ser la causa de la aparición de nuevos cambios que no estaban contemplados y que suelen impactar en tiempo, recursos, y alcance, así mismo los resultados esperados por el cliente.
Debido a situaciones como estas, proyectos donde se materializa de forma recurrente, surgen lo que hoy conocemos como metodologías ágiles, que a diferencia de la gestión tradicional de los proyectos, no requieren definir todo el alcance del proyecto desde el inicio, sino que puede ser trabajado por partes y de forma iterativa e incremental.
Aquí tendrás en detalle una explicación de lo que son las metodologías ágiles, y el porque en los últimos anos y de forma tan rápida, se han convertido en el punto de referencia al momento de gestionar proyectos que posean incertidumbre, cosa que se materializa constantemente en los proyectos, principalmente en los de desarrollo de software..
Antes que nada, definamos que son las metodologías ágiles:
Son un conjunto de estrategias o métodos que nos permiten adaptar la forma de trabajo de acuerdo a las condiciones del proyecto, consiguiendo flexibilidad, eficiencia y, por lo tanto, logrando un producto de valor para el negocio.
Por que surgen?
Dificultad para implantar metodologías tradicionales. Sofisticadas herramientas CASE y notaciones (UML)
Una solución a medida para un segmento importante de proyectos de desarrollo de software
Gestión del Conocimiento
Pugna entre comunidades y/o gurús respecto a “Aceptar el cambio”
Ventajas de implementar las metodologías ágiles
Las metodologías ágiles mejoran la satisfacción del cliente dado que se involucrará y comprometerá a lo largo de todo el proyecto, optimizando así las características del producto final con una visión completa de su estado.
Mejora de la motivación e implicación del equipo de desarrollo. Todos los miembros del equipo conocen el estado del proyecto en cualquier momento, los compromisos son negociados y aceptados por cada uno.
Ahorra tiempo y costes, al trabajar de forma mas eficiente y rápido, se cumple de forma estricta el presupuesto y los plazos pactados dentro de un proyecto.
Mayor velocidad y eficiencia, a través de entregas parciales del producto que se centran en agregar el mayor valor para el negocio.
Aumenta la calidad del producto, uno de los objetivos que busca la interacción continua entre los clientes y equipo de desarrollo.
Permite identificar de forma temprana errores e impedimentos que puedan manifestarse a lo largo del proyecto.
Se rentabilizan las inversiones, ya que con cada entrega, el cliente obtiene acceso a una funcionalidad que aporta el mayor valor, lo cual acelera el retorno de inversión.
Principios ágiles
En el año 2001, un grupo de gurús de diferentes áreas de la tecnología, entre administradores y desarrolladores de software, se reunieron para discutir los métodos de desarrollo de software ágil.
A raíz de estas sesiones, y de los debates llevados acabo nacieron una serie de principios que se plasmaron en lo que hoy conocemos como Manifiesto Ágil, que establecen los sentamientos que debe poseer y cumplir una metodología ágil.
Individuos e interacciones sobre procesos y herramientas
Software funcionando sobre documentación extensiva
Colaboración con el cliente sobre negociación contractual
Responder ante el cambio sobre seguir un plan
En un próximo post estaremos conversando y desarrollando a profundidad estos principios y a su vez los que se desprenden de ellos.
Marcos ágiles mas conocidos
Programación extrema (XP)
Esta metodología esta basada en un conjunto de principios utilizados ampliamente en el mundo del software a fin de crear agilidad en el desarrollo de software, mejorar la calidad del producto y proveer de una respuesta parida antes los cambios no planificados del cliente.
El equipo de desarrollo trabaja conjuntamente con el cliente, ofreciéndole entregas parciales del producto, pero funcionales de forma iterativa, y de esta manera tener una retroalimentación que permita aplicar os cambios que son requeridos y mejorar la productividad.
La programación extrema se centra en 12 principios, estos se agrupan en cuatro grandes categorías:
Retroalimentación a Escala Fina.
Proceso Continuo en lugar de por lotes.
Entendimiento compartido.
Bienestar del programador.
Scrum
A diferencia de otros, e independientemente de que en muchas ocasiones sea malinterpretada como una metodología, la verdad es que es un concepto erróneo, es un marco de trabajo.
Según la guía de Scrum: es un "Framework", es decir un marco dentro del cual las personas pueden abordar problemas complejos de adaptación, al tiempo que entregan productos de manera productiva y creativa del mayor valor posible.
Scrum se rige por un conjunto de roles, eventos, artefactos y reglas, que lo enlazan.
Si bien cada uno puede usarse de forma independiente, al momento de dejar uno de estos componentes fuera, se convierte en algo mas y dejaría de ser Scrum.
Roles
Roles que componen el equipo Scrum e imprescindibles para su ejecución:
Scrum Master
Development Team
Product Owner
Eventos
Eventos que deben ejecutarse en Scrum:
The Sprint
Sprint Planning
Daily Scrum
Sprint Review
Sprint Retrospective
Artefactos
Product Backlog
Sprint Backlog
Increment
Kanban
Esta palabra proviene del japones que significa“Tarjeta Visual” es un marco de trabajo que requiere de una comunicación en tiempo real sobre la capacidad del equipo, es sumamente utilizado incluso con otras metodologías para controlar el avance y progresión del trabajo en una línea de producción,donde cada tarea se va clasificando de acuerdo a su estatus.
Gracias a la sencillez de KANBAN, los procesos de desarrollo se simplifican en la planificación y la asignación de responsabilidades, usando un tablero donde se colocan los procesos del flujo de trabajo.
Consta de mínimo tres columnas (Pending, In progress, Done), las tarjetas en estatus pendiente forma parte de los requerimientos, las que se encuentran en in progress varían de acuerdo a la capacidad del equipo de desarrollo y lo que esta en Done, es lo que se ha completado hasta el momento.
Mas adelante en un próximo post estaremos conversando mas a detalle sobre cada una de estas metodologías y Frameworks, cuando aplicarles, en que consisten cada unos de sus competentes y demás.
Hasta la próxima.
Comments