ÁgilRiguroso
Traducido por Miguel Figueroa-Calix
Revisado por Jorge Ferrer
A menudo suelo encontrarme con la queja de que los métodos ágiles no tienen una definición rigurosa. Quien alude a este aspecto puede argumentar que uno no puede decir si un equipo en particular está utilizando un método ágil o no. También se argumenta que por esta razón se dificulta la labor de enseñar a trabajar con métodos ágiles - ¿ Cuál es el plan de estudios?
Hasta cierto punto yo también siento el dolor de esta queja - pero acepto que no hay remedio. Esta carencia de rigurosidad es parte de la naturaleza que define los métodos ágiles, parte de su núcleo filosófico.
Uno de los problemas fundamentales de los procesos del pensamiento en general - y del desarrollo de software en particular - es la naturaleza muy variada del entorno. Diferentes tipos de sistemas tienen diferentes tipos de presiones y de fuerzas, lo que hace muy difícil crear una declaración rigurosa de qué hacer y que sea lo suficientemente amplia para cubrirlos todos. Este efecto está combinado con el hecho de que el desarrollo de software es una actividad muy orientada hacia la gente, y la gente es por naturaleza inconsistente y altamente variable. La conclusión a la cual los agilistas llegaron es que no es eficaz intentar atar el desarrollo de software a un proceso riguroso, porque al hacerlo, se está ignorando la naturaleza esencial de los componentes primarios( humanos) que ejecutarán el proceso.
Quizá sea porque nuestra profesión consiste en trabajar con ordenadores lo que nos lleva a querer programar sistemas humanos de la misma forma en que programamos ordenadores - a pesar de que son sistemas tan diferentes.
El resultado de todo esto es que los métodos ágiles requieren que los equipos decidan qué procesos usar y además que los equipos ajusten activa y regularmente sus procesos. Cualquier intento de establecer un proceso riguroso que fuera validable en base a un conjunto de pruebas de conformidad, iría en contra de esta filosofía
No puedo negar que esto es frustrante. ¿Cómo se puede hacer una encuesta para definir si los métodos ágiles son más eficaces que las alternativas, o que la Programación eXtrema es más efectiva que Scrum, cuando ni siquiera se puede establecer una clara definición de lo que es Scrum? Si un cliente desea que su sistema sea desarrollado usando Programación eXtrema, ¿cómo puede cerciorarse de que se está usando esta metodología? Existe la sensación de "lo reconoceré en cuanto lo vea", pero se requiere a un profesional experto que tenga esa intuición y aun así, existe muchas posibilidades de que varios expertos no estén deacuerdo.
No tengo una respuesta a este acertijo. De hecho no pienso que haya una respuesta. Es una desafortunada consecuencia de la actividad en sí misma, de la misma forma que mojarse en una consecuencia inevitable de ir a nadar.

