<< Back

¿Es posible usar al mismo tiempo métodos tradicionales y Agile?

Escrito por: Iván Rivera, PMP , Puedes leer un poco sobre su formación aquí.

Articulo tomado del blog de Iván Rivera, puedes ver el artículo original aquí.

En un grupo de WhatsApp al que pertenezco surgió recientemente la conversación (eterna) de cuáles son las ventajas y desventajas de usar métodos tradicionales y Agile.

Yo quiero cambiar el sentido de la conversación analizando si es posible usar al mismo tiempo métodos tradicionales y Agile. ¿En qué condiciones?, ¿cuáles son las ventajas que se obtienen al final.

Es un tema recurrente y no es nuevo, por lo que voy a presentar algunas conclusiones que he recopilado de diferentes artículos:

Empecemos describiendo una situación típica: un proyecto de TI con alcance, tiempo y precio fijos. Los contratos deben firmarse de acuerdo con la declaración de alance, la WBS y el cronograma. Se recaban todos los requisitos y las estimaciones se realizan desde el principio. Después de eso, cuando la ejecución del proyecto ha comenzado (es decir, la fase de diseño y desarrollo), el proyecto funciona con métodos ágiles.

Se organizan sprints (Scrum) y se usa un tablero Kanban (Kanban). El mayor beneficio de este enfoque híbrido es que se puede mostrar y entregar avances, y el cliente sabrá lo que realmente está recibiendo. Este es un escenario mucho mejor que una entrega de «big bang». En un enfoque clásico de Cascada, los clientes obtienen todo a la vez al final del proyecto, y hay una muy alta probabilidad que el cliente no esté satisfecho con el resultado.

Con un modelo híbrido, el cliente tiene múltiples oportunidades para ver y reaccionar durante el desarrollo en cortos períodos de tiempo. Puede cambiar de opinión o agregar algo nuevo. Con este enfoque, es mucho más fácil llegar a un acuerdo de que algo está fuera de alcance porque ya se ha definido. Existe la opción de obtener más recursos y/o tiempo. Lo mejor de todo es que hay una buena posibilidad de que el cliente renuncie a algunas funcionalidades previamente definidas y deseadas en favor de algunas nuevas, que no hayan sido consideradas o definidas en el plan original.

Con esta idea, y como señala Nenand, frecuentemente será difícil ejecutar un proyecto solo con Agile. Él enlista algunos desafíos que se presentan al ejecutar proyectos solo con métodos Agile:

  • El cliente quiere saber por adelantado qué resultará cuando el proyecto esté terminado. En este caso, los requisitos deben definirse en las primeras etapas del proyecto, lo que probablemente sea imposible.
  • El cliente quiere saber el presupuesto. Las reservas financieras deben prepararse por adelantado, y para obtenerlas ¡es necesario tener claro todo el alcance!
  • El cliente quiere saber cuándo se terminará el proyecto.

Por otro lado Ulf nos dice que sola metodología no puede ser la única herramienta para todas las situaciones. El objetivo principal de una metodología híbrida es permitir que los equipos definan los requisitos y se adapten a los requisitos cambiantes a través de comentarios y entregas continuas. El método híbrido conserva la claridad y el sistema de seguimiento del método de cascada, al tiempo que abarca la adaptabilidad y flexibilidad de Agile.

Estas son algunas aproximaciones (propuestas por Ulf y otros) para usar juntos métodos Agile y tradicionales:

Water-scrum-fall El análisis empresarial y los equipos de gestión de versiones siguen los métodos tradicionales en cascada, mientras que los métodos de scrum del equipo de desarrollo y prueba de forma limitada.

Este método emplea el enfoque tradicional en cascada para la planificación, la recopilación de requisitos, el presupuesto y la documentación del progreso del proyecto. Cuando hay suficientes detalles para comenzar el desarrollo, el equipo cambia a una versión iterativa de Scrum para el desarrollo de productos.

Además utiliza principios ágiles y técnicas de comunicación scrum en el desarrollo de productos relacionados con las actividades cotidianas.

Las organizaciones usan el modelo water-scrum-fall cuando quieren detalles en la fase de planificación para poder hacer estimaciones precisas del presupuesto. Si la fase inicial de un proyecto se lleva a cabo de manera planificada, es más probable que convenza a la gerencia sobre la idea y se sentirán seguros al asignar fondos.

Otra razón para adoptar el modelo es la tendencia de los desarrolladores y probadores a recurrir instintivamente a prácticas ágiles durante el desarrollo. Esto sucede porque las prácticas ágiles los empoderan y les brindan oportunidades para colaborar según lo exijan las limitaciones del proyecto.

Agifall El enfoque de Agifall combina lo mejor de cascada y ágil al inyectar el ágil en un proceso de cascada no muy estricto.

El objetivo de Agifall es aumentar la velocidad, disminuir el costo y mejorar la calidad. Agifall aborda la planificación de una manera centrada en el usuario y utiliza herramientas de prototipo rápidas. Lleva las actividades de planificación y requisitos de cascada de una manera ágil al dividirlas en historias de usuarios y priorizarlas en el sprint.

En el método Agifall, no se debe esperar a que se complete una fase antes de comenzar la siguiente; más bien se inicia la siguiente fase tan pronto como sea posible. Esto significa que puede comenzar el desarrollo independiente de algunos módulos o componentes mientras la fase de planificación aún está en progreso. La fase de desarrollo sigue los principios ágiles habituales.

El modelo Agifall sugiere que el diseño gráfico y las pruebas se realicen en paralelo con la fase de desarrollo.

Balanced Agile Abhinav Gupta, citado por Erick, define Balanced Agile como un concepto que tiene como objetivo ayudar a realinear proyectos desviados. El artículo de Abhinav en donde define Balanced Agile se encuentra aquí

Scaled Agile Framework (SAFe®) Yvette destaca que la metodología Scaled Agile Framework (SAFe®), admite e incluso promueve un enfoque híbrido para el desarrollo de software que combina elementos de agile / scrum y cascada. Con SAFe®, agile / scrum y cascada tienen fundamentos diferentes, pero son complementarios para el desarrollo complejo de aplicaciones web de arquitectura de n niveles, proporcionando los requisitos de estandarización y normatividad requeridos en algunas industrias, como la automotriz y la médica.

Uniendo las conclusiones de los artículos podemos decir que una de las primeras cosas que debe suceder cuando se manejan híbridos ágiles y en cascada es dejar de encontrar fallas en los diferentes procesos y encontrar trabajar en equipo. La guerra metodologías debe terminar y, en cambio, los equipos deben centrarse en proporcionar valor al cliente.

Al combinar las mejores prácticas de ambas metodologías e incorporar las técnicas híbridas correctas, todo el proyecto puede ser un éxito. Mientras exista una buena comunicación y una cooperación efectiva entre los miembros del equipo, adoptar un enfoque híbrido a menudo puede ser un enfoque muy efectivo para ejecutar proyectos complejos con requisitos que cambian rápidamente.

Además, los equipos pueden aprender a comunicarse, coordinar y planificar para el éxito. Todos los equipos tienen el objetivo común de proporcionar valor al cliente. La cooperación y la comunicación entre equipos, independientemente de la metodología, es la clave del éxito.

El modelo híbrido Waterfall-Agile es el más adecuado para los proyectos que esperan que el equipo aborde y cumpla los requisitos en constante cambio dentro de un período limitado de tiempo.

Buscar

Categorias

Ver los archivos