¿Qué es ser ágil?

En el contexto del desarrollo de software, tengo la extraña sensación de que demasiado frecuentemente se está aplicando el término ágil a lo que no es y eso está haciendo que comience a perder su significado.

Un proyecto ágil no es aquel que no documenta, ni planifica lo que se le va a construir, ni el que se despreocupa de la calidad porque lo importante es entregar cuanto antes. ¡¡TODO LO CONTRARIO!! Sólo se documenta lo que aporta valor (al cliente o al equipo de desarrollo), sólo se planifica aquello que es relevante en función de los requisitos definidos en cada momento y nunca se sacrifica la calidad sino que se negocian diferentes niveles de completitud en los requisitos.

Tampoco consiste en aplicar procesos mecánicos carentes de contenido o disparar con pruebas unitarias a toda clase que se mueva, sino que se implementan mecanismos de colaboración, construcción o comunicación siempre con el objetivo de mejorar en estos aspectos, no en los procesos en sí.

Un proyecto ágil alcanza una mejor calidad en el resultado final porque sus miembros trabajan continuamente para ello y no porque tiene procesos que lo garantizen.

Creo que lo más aclaratorio es leer el Manifiesto del Agilismo (en español o el original en inglés) o incluso mejor, los principios en los que se basa.

Estoy 100% de acuerdo con David Peterson en que aquellos que hemos descubierto mejores formas de desarrollar software tenemos una cierta obligación para con los demás y debemos ayudar a los demás a encontrar este camino. Cuidado, no digo con esto que los que “creemos” debamos dedicarnos a “convertir” a todo “no-creyente” que se cruce en nuestro camino, pero sí que debemos evitar el tirar la toalla y debemos ser firmes y apoyar especialmente a los cuadros directivos para que consigan encontrar “el camino hacia la luz”.

P.S.
Perdón por la poesía barata… 🙂

Tagged: