agile

Metodologías ágiles (II); ¿Por qué surgen?

¿Por qué surgen las metodologías ágiles?

A pesar de que el término está de moda y parece un concepto muy moderno, las metodologías  ágiles se desarrollan durante la segunda mitad del siglo XX, teniendo un importante precedente en 1950 cuando se utilizó un método iterativo e incremental para el desarrollo de software del cohete X-15 y un hito definitorio con la presentación en 1985 de SCRUM por Ken Schwaber.

En el año 2001 fue publicado el Manifiesto Ágil en el que los creadores de las principales metodologías definieron los valores y principios de la filosofía agile.

Estas metodologías surgen como una reacción de la industria de creación de software frente a las metodologías clásicas de ingenierías de construcción, en la cuales los proyectos eran planificados en fases lineales y secuenciales de tipo cascada y gestionados con métodos como Gantt, PERT, etc.

En ellas se genera una gran cantidad de documentación exhaustiva, como informes del progreso, por lo que se denominan metodologías pesadas o monumentales.

Metodologias agiles

A este tipo de planificación se le denomina en cascada y se trató de aplicar también a la creación de software, siendo Winston W. Royce quien en 1970 propuso la primera versión de esta metodología.

Sin embargo para muchos no se ajustaba a las casuísticas del desarrollo de software, ya que la ejecución lineal de fases con un orden inalterable de precedencias y sin posibilidad de volver atrás de una fase a otra para realizar cambios sin agilidad, no es muy práctica cuando hablamos de software.

Pero sin embargo sí lo es en ingenierías de construcción, ¿Por qué?

Pongamos como ejemplo la construcción de un puente. Los mayores costes del proyecto, así como el mayor coste acarreado del error, aumentan cuanto más avanzado se encuentra el proceso, especialmente a partir de la construcción. ¿Imaginas tener que deshacer un puente a la mitad y empezar de nuevo unos metros más allá porque los cálculos estaban equivocados?

Por eso en este tipo de ejemplos las fases de análisis y diseño son críticas y no se debe escatimar en horas de trabajo para ellas.

Sin embargo en las metodologías ágiles, la estructura de coste es igual o mayor en las fases de análisis y diseño que en la de codificación. Esto hace que, cuanto más se trabaje en una dirección que no será la definitiva (lo cual es casi intrínseco al desarrollo software) más trabajo de análisis, diseño y desarrollo es desperdiciado.

 Esto conduce a que en lugar de recorrer linealmente las fases realizándolas una sola vez,  se programen muchos pequeños períodos de tiempo en los que se comprimen las fases hasta tal punto que se pueden desarrollar de manera simultánea o en orden contrario, estos períodos son llamados sprints o iteraciones. De cada iteración debe resultar una versión funcional del producto que mejore la calidad de la versión anterior, por eso decimos que son procesos iterativos e incrementales.

La clave de por qué los desarrollos de código necesitan estas metodologías de trabajo en lugar de las clásicas está en las características de su propia naturaleza, para terminar de entender el concepto se recomienda leer “La casuística del proyecto software como motivación de agile.

¿Te ha gustado? ¡Ayúdanos a difundir y comparte! Baja hasta el final de la página y encontrarás los botones sociales 😉

Alvaro Carrera es consultor de estrategia de negocio y transformación digital. Ha trabajado en proyectos de diversos sectores y áreas como consultoría de expansión, gestión de proyectos digitales, transformación de empresas, estrategia comercial, administración y gestión. Es Diplomado en Ciencias Empresariales y MBA, además de estudios en metodologías ágiles, design thinking, cloud computing, marketing digital, estrategias de transformación digital y lean startup.

¿Te ha parecido interesante y quieres ayudarnos? ¡Compárte y suscríbete!