Octubre y noviembre han sido dos meses ajetreados. A los habituales proyectos de formación y consultoría se han unido dos eventos interesantes: El Agile Open Spain 2010 y el Amsterdam Scrum Gathering.
Del Agile OPen Spain 2010 tenéis un par de fotos aquí. Me volví con una sensación agridulce, la verdad. Por una parte, es patente como ha subido el nivel del evento, con mucha más gente dispuesta a aportar experiencia real y con preocupaciones más relacionadas con la implementación y práctica de metodologías Ágiles que con descubrir de qué tratan. Bien por la comunidad Ágil española. Pero por otra se pudo respirar muy evidentemente algo que ya se intuye por los espacios virtuales: se están creando dos corrientes de pensamiento, y una de ellas está de alguna forma enfrentada a la otra.
Concretamente, existe un nucleo duro de “Anarco-sindicalistas del teclado” que han creado un espacio extremista en el que “lo único” importante es la programación, el código bonito, TDD, disfrutar programando, la excelencia técnica y las camisetas con chistes en binario. Que no es que no sea importantísimo. Pero no es “LO” importante, en plan “todo lo demás es malignmo y debe ser descartado de la faz de la tierra”. Para ellos, “Scrum es cosa de gerentes” y los procesos son algo a ser destruido junto con la documentación, las herramientas, los contratos y los planes. Es decir, realizan una lectura extrema del manifiesto Ágil y se olvidan de la parte de “aunque valoramos los elementos de la derecha, valoramos más los de la izquierda“.
Son gente que dice cosas como “no se puede programar sin TDD” (aunque productos como Linux o Apache se hayan hecho sin TDD), “no se puede ser Ágil si no haces programación orientada a objeto” (aunque haya gente haciendo Agilidad en Cobol o, ya puestos, en Marketing o en equipos que hacen televisión) o “no se puede hacer Scrum sin técnicas de programación Ágil”. Que no es que “La excelencia técnia no mejore la agilidad”, por citar un principio Ágil, pero en ninguna fuente autorizada sobre el universo Ágil se citan estas técnicas como condición “sine qua non” o “necesaria y suficiente” para ser Ágil.
De hecho el manifiesto cita cuatro valores, ninguno de los cuales se refiere directamente a la ingeniería, y 12 principios, de los cuales solo uno cita una “mejora” de la Agilidad mediante la aplicación de la excelencia técnica.
Insisto: me paso la vida evangelizando sobre cosas como la automatización de tests, la propiedad colectiva de código, los estándares de programación, la integración continua e incluso los repositorios de código y el control de versiones. Creo que en pleno siglo XXI un equipo que busca la mejora continua acabará tarde o temprano enfrentado al estado del arte. Pero si de buenas a primeras te atrincheras en un elitismo taliban y, además, condenas cualquier cosa que huela a proceso u organización, luego no te quejes de lo dificil que es que te dejen ser Ágil en la empresa. Porque para empezar, no has entendido nada.
El problema es que muchas masas oprimidas en las trincheras de la programación se están arremolinando en torno al ideal libertario de los verdes pastos de la comuna digital y se están creyendo cosas como “si el código está bien hecho, lo demás no importa”. Hartos de entornos viciados, compañeros tóxicos y jefes incompetentes, creen que la salida es echarse al monte compilador a cuestas y entonar cánticos de integración continua y refactorización en torno a la hoguera comunitaria del subversion.
Bueno. Tiempo al tiempo.
El otro grupo (en el que me auto-alineo, claro), discute frecuentemente sobre aspectos culturales de la Agilidad, el comportamiento de las personas, la frontera entre disciplina y auto-organización, los procesos que no se anteponen a los individuos, la mínima documentación que debe existir con cada incremento de código funcionando, negociar y colaborar con el cliente, crear equipos de alto rendimiento, las retrospectivas, los planes de mejora, la adaptación al cambio, el concepto de valor, el diseño emergente, la definición de set mínimo de funcionalidades con valor de mercado, el coaching de equipos, personas, gerentes y clientes, los contratos que reflejan nuestra forma de trabajar, la gestión de proyectos, los sistemas complejos… Y no condenamos las prácticas de ingeniería ($deity
nos libre). De hecho las recomendamos. Y sin embargo existe un cierto interés en hacernos aparecer como “el enemigo”. Dejo a criterio del lector el decidir por qué, que bastante me estoy mojando ya con este rant.
He estado también como decía en el Amsterdam Scrum Gathering, del que tenéis varias fotillos aquí. Será porque “Scrum es cosa de gerentes”, pero ni aquí ni en la Lean Kanban Europe pude respirar este mismo clima de “talibanismo técnico” que me pareció respirar en la #aos2010.
Tuve la oportunidad de hacer una lightning-talk o “charla relámpago”, de la que pude grabar este video (la presentación está aquí):
Sustainable Pace: The Boxer, The Aikidoka and the Katana Suburi from Proyectalis on Vimeo.
También pude hacer un Ideacamp sobre Scrumban parecido al que hice en a Agile Open Spain. Gustó tanto que varias personas me pidieron que hiciera un “whitepaper” sobre esta aproximación, pero como eso es muy aburrido en su lugar he hecho esta presentación que espero que pueda ayudar a los que intentan compaginar Scrum con un entorno de alta incertidumbre en el que, en el día a día, siguen surgiendo muchas otras cosas que también deben ser atendidas:
La experiencia del Lean Kanban Europe y la del Scrum Gathering han sido tan buenas que me he decidido a abrir un blog en inglés dedicado específicamente a la Agilidad. Seguiremos informando
Actualización: borraré inmisericordemente cualquier comentario en la línea de “para ti las prácticas de ingeniería no son importantes / son secundarias / son optativas”, ya que no es eso lo que he dicho como cualquier lector con dos dedos de frente podrá interpretar