Lo confieso, me declaro “agilescéptico” y tengo que admitir que con el tiempo cada vez más, no per se sino más bien precavido y escéptico respecto a todo el circo que se ha montado alrededor de las metodologías ágiles.
Me explico, en mi opinión en desarrollo software sólo hay dos cosas importantes:
- 1. Los Programadores
- 2. El Código
Y en ese orden, y lo demás son florituras. Dicho de otra manera:
Con los programadores adecuados y dejándoles escribir el código que ellos consideren adecuado ya está casi todo hecho, la receta del éxito en desarrollo software ya estaría básicamente formulada. Y hablo del éxito técnico no comercial, esa es otra historia.
La única “agilidad” que importa en desarrollo software es la que permite libremente a los programadores escribir, leer y cambiar código con rapidez (pero sin prisas).
Ahora bien, lo primero que decidirán esos programadores (ellos y no otras personas) para poder escribir código de calidad serán las herramientas que van a utilizar, y de nuevo nos encontramos dos aspectos:
- 3. Las Tecnologías
- 4. La Metodología
Y en ese orden, porque el orden de nuevo importa.
Así que ya tenemos exactamente cuál es la importancia de la Metodología en Desarrollo Software: ocupa un modesto cuarto puesto, la metodología es importante pero ni siquiera está en el podium de lo más importante.
Y a las pruebas me remito, si buscas en los proyectos de software de más éxito encontrás básicamente grandes programadores (frecuentemente sus fundadores) y código de calidad, también algunas tecnologías usadas acertadamente pero apenas rastro de la metodología empleada, algo hay sí pero poco.
Y esto es lo que frecuentemente olvidan los predicadores, evangelistas y demás mundillo alrededor de las metodologías ágiles, muchas veces honestos entusiastas pero pocas veces con la legitimidad que les daría ser programadores competentes que no han dejado de programar.
…. y de ahí el origen de mi “agilescepticismo”.
Nota: Conste que a mi me mola Scrum (incluso me divierte), lo de las tarjetas, los cerdos y las gallinas es genial (sin ironía); y aplaudo, valoro y envidio ”prácticas agiles” como ”Code Review”, “Pair Programming” y TDD, pero no se me olvida cuál es su importancia relativa respecto a lo que realmente importa.