Agile significa Agile Software Development

Palabras clave:
Tiempo aproximado: 4 min.

Recién acabada la conferencia Agile 2010, organizada por la Agile Alliance, varios «pesos pesados» del agilismo a nivel internacional (UncleBob, Corey Haines, Cory Foy… incluso organizadores como J.B.Rainsberger) han señalado que la mayor conferencia sobre desarrollo ágil de software que se organiza en el planeta parece haber olvidado que hay algo muy relevante en esto del desarrollo de software: la programación. Como bien señala Martin Fowler en su blog, los «soft skills» son muy importantes para hacer bien nuestro trabajo, pero igualmente indica que «la programación juega un papel central en el desarrollo de software e intentos para marginarla correlacionan bien con caminos muertos» (como véis, Fowler es de origen inglés y eso se nota cuando escribe). 🙂

Hace ya 10 años de la primera conferencia centrada en el agilismo (la XP2000), por lo que ya debe haber opiniones más que maduras al respecto. Es evidente que, como toda «marca» en un mercado, «Agile» está en pleno crecimiento a nivel masivo y eso implica que los «early adopters» ya están buscando un producto mejor. Así, ya tenemos en el paraguas de lo «agile» en relación al software, ideas venidas de otros sectores y las viejas ideas revisitadas como mejoras de las antiguas. También hay que tener en cuenta que hay países (como el nuestro) donde tanto el desarrollo de software como el agilismo van a diferentes velocidades a las marcadas en los países anglosajones y nórdicos (que son los que parecen marcar la tendencia principal). Y estas diferentes velocidades hacen que haya una mezcla de consumidores «ilustrados» y consumidores «ignorantes» (con todos los respetos para ambos «colectivos»). Ante esta heterogeneidad, el libre mercado hace de las suyas y convierte a consumidores «ignorantes» en productores «presuntamente ilustrados» y, sobre todo, potencia los productos de más fácil consumo. Como la tele. 🙁

Mi opinión es que es inútil intentar evitar que haya consultores, gestores, directores, certificadores, entrenadores, formadores… que vivan, con más o menos ética, con más o menos fortuna, de cada nuevo «buzz» y que nos aborden cada poco con su marketing. Entiendo que algunos prefieran seguir bajo el paraguas de lo «agile» porque les garantice clientes. También entiendo que algunos prefieran distinguirse de lo «agile» porque está empezando a desvirtuarse del conjunto de valores y principios que originaron el movimiento. ¿En el término medio está la virtud? Puede que sí, pero yo no soy muy dado a mezclar colores porque la experiencia me dice que cuando mezclas sin saber sólo te sale un color indeterminado que yo suelo denominar «caca» (quizás por exceso de rojo sangre y verde ecológico) 😉

No quiero decir con esto que prefiera llevar todos los contenidos de programación a una conferencia aparte. Como decía alguien en twitter, hay que mantener en sincronía el mundo de gestión ágil con el de ingeniería ágil, o de lo contrario no habrá cambio cultural posible en las organizaciones. (Es mi opinión, claro)

Yo quiero ser un buen programador y quiero rodearme (intelectualmente) de buenos programadores. Creo que para llegar a ser un buen programador hay que practicar mucho (y bien) con otros. Para eso creo que tenemos que buscar dos cosas: foros donde poder adquirir estas habilidades prácticas, para poder dejar de comportarnos como onanistas de la programación, y un cambio de actitud en los programadores, para darnos cuenta de que se aprende mucho más y mejor en compañía (aunque ese «onanismo» pueda resultar placentero). Creo que en, en mi experiencia, la mayoría de las disfunciones de los equipos son debidas a miedos individuales, normalmente debidos a la falta de autoconfianza. A partir de ahí probablemente podamos empezar a tener confianza en nosotros mismos y pasar al siguiente escalón: ampliar nuestra visión «sólo técnica» y, de verdad, ser capaces de entender a las capas de gestión y comerciales de las empresas para las que trabajamos (los que trabajéis para una empresa por cuenta ajena, claro). En esa etapa ya seremos capaces de entender por qué hay gente que necesita una estimación fiable de cuánto va a costar desarrollar una funcionalidad. Pero también en esa etapa seremos capaces de defender con seguridad nuestras estimaciones (aunque no sean todo lo fiables que se necesiten) porque habremos perdido esa falta de autoconfianza que nos bloquea y nos pone a la defensiva.

Por todo esto defiendo la necesidad de potenciar eventos como la Conferencia SC2010 a la que asisitiremos unos cuantos desde España, o la XP Universe (que están arrancando Corey Haines y Cory Foy). Quiero aprender de estas Conferencias de Artesanos del Software para ser capaces de traer algo similar a nuestro país. Quiero que los programadores nos acostumbremos a participar en nuestras comunidades locales y a organizar eventos ligeros donde transmitir nuestras habilidades e ignorancias. Quiero que todos seamos aprendices y, con humildad y orgullo, busquemos el convertirnos en maestros. Quiero eso para poder pasar a la siguiente fase.

Con la ayuda de Xavi Gost y otros a los que ya he enredado en el pasado, estoy enredando en el presente y enredaré en el futuro, hemos creado hace casi un año agilismo.es con la intención de poner estos valores en un lugar relevante. Nos gusta nuestra profesión y queremos mejorar en ella. Pronto veréis que le vamos a dar una vuelta de tuerca a lo que hemos estado haciendo hasta ahora. Pero eso quedará para otro artículo. 🙂