Durante la conferencia AgileChina de ThoughtWorks, InfoQ entrevistó a Martin Fowler, reconocido especialista mundial en análisis y diseño orientado a objetos.
En la entrevista, Fowler nos cuenta sobre el presente y futuro de las metodologías ágiles, su poca simpatía para las certificaciones, y problemas que deberán enfrentar estos procesos en el futuro.
InfoQ: Muchas personas han estado intentando implementar Scrum dentro de sus organizaciones, pero no tienen idea del significado de Ágil. Simplemente van al entrenamiento, se convierten en un ScrumMaster Certificado y comienzan a adoptar Scrum. Y por supuesto, la adopción falla. Después de leer varios emails en los foros yahoo sobre Scrum y XP, vemos que estas cosas pasan en varios paises. Me gustaría saber: ¿qué opina de este tema, y como se podría mejorar?
Martin Fowler: Bueno, como con cualquier técnica, no es facil encontrarle la vuelta sobre cómo implementarla. Creo que Ágil es especialmente dificil porque involucra cambiar la forma de pensar. Si estuvieron en la charla de Richard Durnall, escucharán que los mismos problemas ocurren en Lean Manufacturing, es decir, que muchas personas se focalizan en las prácticas, en vez de en la filosofía de fondo. Las cosas no van a funcianar muy bien si sólo intentás adoptar las prácticas, y no la filosofía.
Personalmente creo que va a llevar varias décadas para que las metodologías ágiles tengan impacto. Hago la comparación con objetos: la tecnología de orientación a objetos apareció hacia fines de los años '60 o '70. Le llevó 20 años, hasta los '90, para convertirse en lenguajes de programación populares como Java, C++ y C#. Pero incluso así, hoy en día vamos a los clientes, vemos su código, y no está orientado a objetos. Lo escriben en Java, pero no es orientado a objetos! Todavía hay más pasos por recorrer para que la mayoría de las personas escriban con una correcta orientación a objetos.
Entonces, ¿de cuánto estamos hablando? ¿40 años para objetos? Y los objetos tienen un alcance mucho más limitado que Agil. Porque los objetos son sólo sobre la programación y el diseño. Ágil es todo un proceso dentro del cual se desarrolla software. Por lo tanto, le va a llevar más tiempo a Ágil que los objetos.
El entrenamiento para certificar en Scrum dura básicamente dos días, y no se puede aprender mucho en ese tiempo! No me gusta que lo hayan llamado "certificación", porque da una impresión incorrecta. Pero hay cosas positivas, como ser el hecho de pasar dos días con alguien que realmente comprende Scrum. Los profesores de la Certificación de Scrum, hasta donde sé, son personas que conocen sobre el tema. Y eso definitivamente sirve. Hay muchas tecnologías hoy en día que los profesores parecen no comprender. Y esto es bastante común. Quiero decir que... ummm... es uno de los grandes problemas con el Proceso Unificado de Rational (RUP), y con CMM. Tenés el problema de contar con instructores que no saben lo que hacen. Al menos los instructores de los cursos de Certificación de Scrum, hasta donde sé, saben sobre el asunto. El problema es que no se puede enseñar todo en dos días! Creo que llevaría varios meses para aprender como hacer Agil. Tenés que estar en el equipo, tenés que trabajar de manera Agil, tenés que empezar a ver cómo juegan juntos todos los elementos. Y eso es un ejercicio de varios meses.
InfoQ: Todavía hay muchos mal entendidos sobre Ágil, como que "Ágil significa no documentar", "Ágil significa hacer las cosas rápido", o "Si querés hacer Ágil, tenés que implementar todas las prácticas", etc. ¿Qué se puede hacer para eliminar todos estos mitos?
Martin Fowler: No es facil, hay muchos mitos; hay que seguir explicando, mostrando ejemplos. Hay personas muy activas en el mundo Agil, viajan, hablan del tema, tratan de explicar como funcionan las cosas. ThoughtWorks está interesado en crear buenos ejemplos, ya que hacemos estos proyectos, trabajamos de esta manera, y cuando una persona nueva se nos use puede ver toda la operación, no tiene que imaginarse cómo sería, puede experimentar la situación completa. Creo que es muy positivo.
Pero también soy paciente, como dije, "muchas décadas"! Estoy acostumbrado porque ya viví el tema de objetos, y todavía no terminamos con los objetos, por lo tanto... es un ejercicio a largo plazo.
InfoQ: ¿Cree que existirá un estandard en el mundo Ágil?
Martin Fowler: No creo que se pueda hacer un estándard de esto. Ágil fue pensando para que su forma de uso sea ayudar a las organizaciones a comprendan en qué áreas son fuertes y en dónde no lo son, y qué cosas necesitan mejorarse. De hecho, esta fue la noción original de CMM, era un conjunto de ejercicios para ayudar a aprender cómo mejorar. Y fue completamente tergiversado por el mecanismo de certificación.
Y desafortunadamente, esto es un riesgo que le puede ocurrir a Ágil, y muchas personas sienten que, con esto de la Certificación de ScrumMaster... veremos. Quiero decir, todo lo que podemos hacer es seguir trabajando y demostrando lo que ocurre.
InfoQ: Pasaron 7 años desde que se presentó el Manifiesto Agil. ¿Se podrían resumir las experiencias de estos años en patrones, y así usarlos para guiar nuestras prácticas?
Martin Fowler: ¡Posiblemente! Sin dudas hay muchas personas que trabajan en esta área. Pero me gustaría aclarar que no estoy enfocado en esto. En los inicios estuve muy cerca de Ágil, pero hace unos años que decidí: hay mcuhas personas que están hablando de Ágil, pregonando Ágil, y se dedican a esto un montón. Por lo tanto decidí mantenerme al costado - NO porque crea que sea poco importante, y pienso que es extremadamente importante, sino porque ya hay muchas pesonas haciendolo. Prefiero un mundo en el que no haya competencia. Estoy por mi cuenta, es más facil así. Por esto me concentré en cosas como los patrones para arquitecturas empresariales y DSLs.
InfoQ: Entonces, ¿está esperando a ver cómo resultan las cosas?
Martin Fowler:Bueno, si, hay mucha gente buena en el movimiento ágil, tanto dentro como fuera de ThoughtWorks. No voy a poder ayudar tanto, es mejor, para mi, creo, concentrarme en áreas donde otras personas no se concentran tanto.
InfoQ: La gente pregunta "¿Cómo podemos decidir si un proyecto es Ágil o no?". Creo que no es la pregunta correcta; necesitamos saber cómo realizar mejoras...
Martin Fowler: ¡Si!
InfoQ: ... y no verificar si el proyecto es ágil o no.
Martin Fowler: Exactamente.
Traducido de Martin Fowler on avoiding common Scrum pitfalls.