Es casi imposible imaginarse el mundo del desarrollo de aplicaciones sin estas dos palabras: metodologías ágiles. Estrategias de trabajo que han transformado la informática moderna, pero ¿cuáles son las más populares y sus tendencias?
Comencemos por lo básico, su significado. Las metodologías ágiles son un conjunto de técnicas que ayudan a desarrollar proyectos de una forma más rápida y eficiente. Y se basan en un documento, de 2001, llamado el Manifiesto ágil.
El Manifiesto Ágil fue un documento redactado por un grupo de expertos que se dieron cuenta que la forma de desarrollo tradicional del software, del siglo XX, era lenta, anticuada e ineficiente. Además, tenía aislado al cliente del desarrollo de los proyectos.
Así nació un nuevo modelo, basado en doce principios que tiene como prioridad satisfacer al cliente mediante la entrega temprana y continua de software con valor. Gracias a esta iniciativa nacieron varias propuestas metodológicas que aún reinan en nuestros días como:
Scrum
Tal vez la más conocida de estas metodologías, con su nombre basado en el rugby, se trata de un método de desarrollo basado en ciclos llamados Sprints que permiten una mejora y retroalimentación en forma continua.
En el Scrum existen roles definidos como el propietario del producto (PO), que es el embajador y enlace del cliente; el Scrum Master que es el líder del proyecto y guardián de las buenas prácticas y procesos; y por último el equipo de desarrollo.
Kanban
Otro de los grandes protagonistas del movimiento ágil, se trata de una metodología visual basada en tarjetas y tableros. De hecho, su nombre viene del japonés donde Kan es “visual”, y Ban corresponde a “tarjeta”.
Este método usa tableros organizados por columnas, usualmente divididos en trabajos por hacer, en proceso, y terminados permitiendo una visualización rápida de los flujos de trabajo. Por ello, suele usarse junto a Scrum aunque no son lo mismo.
Extreme Programming (XP)
También llamado programación extrema, como su nombre lo indica se trata casi de un deporte extremo y ha sido diseñado para producir resultados en entornos cambiantes e inciertos.
Por supuesto, existen muchas otras metodologías, cada una con su campo de acción y fortaleza, según la preferencia de las organizaciones. Algunas de ellas son Lean, Scrumban (la mezcla de Scrum con Kanban) y Prince2, entre otras alternativas.
Algunas tendencias
Por supuesto estas metodologías han evolucionado con el tiempo y van adquiriendo nuevas prácticas y habilidades. Después de todo, han pasado 21 años desde la creación del manifiesto original. Por ello, para el 2020 se destacaban iniciativas como el Design Thinking, la inteligencia artificial y las soluciones basadas en la nube.
Por la parte de la inteligencia artificial, y en particular del aprendizaje automático (machine learning), se ha convertido en una herramienta increíblemente poderosa para la recolección y el análisis de la información.
En lo que respecta a las soluciones cloud permiten simplificar los despliegues y pruebas de formas más rápidas y eficientes. Algo supremamente útil en esquemas iterativos. Por último, el Design Thinking brilla por su capacidad para acercar los proyectos a las necesidades de los clientes permitiendo generar más valor y empatía.
Pero claro, esto es apenas la punta del iceberg en metodologías, porque en estos tiempos ágiles, el cambio es la única constante.