Una metodología ágil no es siempre la mejor opción
Sí, así es, aunque no esté de moda decirlo y sea contrario a lo que muchas veces se escucha y lee por ahí. Las metodologías ágiles hay que ponerlas en contexto y utilizarlas en su justa medida, cuando sean la mejor opción, que no es siempre. Y aunque muchas veces el mensaje que nos llega es que todo lo ágil es fácil y bonito, adaptar una metodología a una organización es un trabajo complicado, que requiere extraer lo mejor de la escala de grises que hay entre lo ágil y lo tradicional, además de saber integrarlas con otras actividades de la ingeniería software. La cosa no es tan simple como contar lo malo que es el ciclo de vida en cascada y cambiarlo por el iterativo – incremental.
Y todo esto viene a que viendo el programa de la “Agile Industrial Day – Madrid, Spain” encuentro entre sus ponentes a Philippe Kruchten, un tipo de amplia trayectoria en ingeniería del software, con el que hace unos años tuvimos la suerte de participar en un especial de IEEE Software sobre arquitecturas y del que en los últimos años destacan sus trabajos sobre contextualizar a las metodologías ágiles. Y Kruchten no es el único que ha advertido del problema de utilizar las metodologías ágiles sin observar su contexto y el grado de agilidad necesario. Boehm y Turner en “Balancing agility and discipline” ya determinaban la idoneidad de las metodologías ágiles en función del tamaño, criticidad, nivel del equipo, dinamismo y cultura. Similares parámetros utilizaba Cockburn en “A Human-Powered Methodology for Small Teams”. Y Kruchten añade otros como la “necesidad de una arquitectura estable”.
Y es que además de un twet que leí hace poco en @calidadsoftware sobre “Pitfalls in Agile Software Development” hay pocos sitios que nos cuenten los peligros de irnos a lo ágil sin preparación. Kruchten escribía hace unos años sobre uno de los principales temas a resolver cuando se implanta una metodología ágil: lograr una solida arquitectura software; y contaba el caso de una gran reingeniería de un sistema de 2 millones de líneas, para el que se empezó utilizando XP y SCRUM, que a los 4 meses y medio empezó a encontrar dificultades, refactorizaciones que se iban a más de una iteración, donde se fue disparando el retrabajo y donde al no estar clara la arquitectura llegó un momento en que no se sabía cómo avanzar.
4 Respuestas to “Una metodología ágil no es siempre la mejor opción”
Trackbacks/Pingbacks
- “Deadly Sins”, o “walking deads”, de implantar una metodología software. (1/2) Tres “walking deads” desde la experiencia. | Javier Garzás - [...] que desarrollar software con calidad siempre requiere de iteraciones. Ah, y eso sin olvidar que pasar del cascada a ...
- La calidad según Deming | Fábricas de Software - [...] tenía los mismos problemas que nosotros . Para estos requisitos volátiles, las metodologías ágiles pueden ser una buena ...




Interesante post Javier.
Estoy de acuerdo contigo en que lo Agile no es “siempre” la mejor opción y que antes de aplicarlo hay que tener ciertas cosas muy claras.
Suerte con las críticas que desde el mundo Agile te puedan venir
Saludos
Igualmente de acuerdo. Este tema no es tan fácil, y requiere de mucho ciudado y conocimiento el implantar una metodología, sabiendo elegir lo mejor de todo lo que tenemos en ing soft.
Estoy totalmente de acuerdo contigo Javier… llevo algún tiempo trabajando con metodologías ágiles y parece que ya no hay otra forma de hacer las cosas, y evidentemente no es así. Además de aprender metodologías ágiles, deberíamos aprender ¡cuándo utilizarlas! ¡Buen artículo, Javier!
Bueno, varios temas para comentar en este post, yo haré de paladín de las ágiles por ahora
Por un lado, no creo que el mensaje real sea que implantar ágiles sea fácil y sencillo, que se diga eso (algún descerebrado, quizás). Siempre se repite que no es una bala de plata, y de sencillo no tiene nada, desde luego.
Las metodologías ágiles han servido para poner el foco donde más importa, en la personas. Y en que el código es importante.
No creo que hoy en día nadie haga una metodología en cascada pura, y habrá muy poca gente que haga una metodología ágil en todos sus aspectos. Todos nos adaptamos un poco al entorno en el que nos movemos, como bien dices, y hay que coger ideas de todas partes.
Pero yo no tengo duda de que las metodologías ágiles te llevan a un mejor desarrollo de proyecto en cualquier tipo de ellos. Ahora bien, ciertamente hay grados de ágiles, y muchas práctics y técnicas diferentes. Acertar con la que necesitas no es fácil. Puedes ser ágil sin iteraciones o con ellas, por ejemplo…
Comentas: “hay pocos sitios que nos cuenten los peligros de irnos a lo ágil sin preparación”… pero es que… lo peligroso es desarrollar software sin preparación!! independientemente de la metodología. Y esas pegas de ese post a las metodlogías ágiles, ¿acaso no lo son también para las tradicionales? ¿acaso no requerirían de atención especial gestionandolo por ejemplo con Metrica3 :\ ?
Salu2