En esta primera entrada sobre Metodologías Ágiles realizaré una introducción a este concepto, por qué aparecieron, cuales son las motivaciones para aplicarlas, y en qué proyectos funcionan mejor.

 

Las Metodologías Ágiles surgieron de la necesidad de enfrentarse al cambio en proyectos de software. En otras disciplinas de ingeniería como en arquitectura o aeronáutica, por lo general, se presenta un proyecto para la construcción de un producto, este es firmado y aprobado con los clientes antes de empezar a ser construido, y rara vez se producen cambios durante su construcción, que además suponen grandes costes.

 

En el mundo del software se partió de esta concepción, pero a lo largo del tiempo se encontraron problemas y ha dejado de funcionar en bastantes casos. Esto se debe a que en la mayoría de ocasiones el cliente no sabe exactamente lo que quiere, y se da cuenta cuando el proyecto ya está en un estado avanzado, o incluso terminado. Utilizando metodologías tradicionales como el modelo en Cascada o en V, añadir cambios que se ajusten a la visión del cliente durante la realización del proyecto supone romper la planificación, una ruptura del contrato y grandes costes.

 

Con la intención de superar estos problemas y adaptarse a las necesidades de los clientes, surgen las Metodologías Ágiles. Las cuales siguen los conceptos recogidos en el Manifiesto Ágil, y que tienen como principal objetivo abrazar el cambio y hacer que el cliente obtenga un producto que le contente. Estas metodologías se basan en iteraciones de cortos periodos de tiempo, en las que al final de ellas se entrega una versión funcional al cliente que le permite ver si es lo que quiere, detectar nuevas funcionalidades, problemas, etc. Finalmente, tras numerosas iteraciones se obtiene un producto final.

 

Es importante destacar que estas metodologías no pretenden tirar por la borda a las tradicionales, ni mucho menos. De hecho, estás siguen funcionando perfectamente, y su uso es recomendado en aquellos proyectos estables en los que los requisitos y funcionalidades se conocen desde el primer momento, y no se contemplan cambios.

 

Existen varias Metodologías Ágiles, de entre ellas, las más conocidas y utilizadas a día de hoy son: Scrum, Extreme Programming y Kanban.

 

En siguientes entradas comentaré de forma más detenida algunas de estas metodologías, siempre desde una aproximación basada en la teoría y alejada de la experiencia real.

 

A continuación, dejo los enlaces a un par de cursos en inglés sobre estas metodologías que, al menos a mi, me han resultado bastante útiles para refrescar y profundizar en mis conocimientos: