Resumen XGN 2011

El fin de semana pasado estuve, igual que el año pasado, invitado por y (miembros de ) a la zona profesional de la LanParty que todos los años desde hace 12 se celebra en Santiago de Compostela (la XGN).

Los amigos de Funius ( y ) hablaron de HTML5, escalabilidad y tortillas. En realidad, en la charla de la tortilla se habló deemprendeduría. Hubo más charlas sobre crear empresas: un par de () y también alguna de las ( y @hell03610). Me quedaría con una frase que pronunció Xavi Gost: “Emprender no es una opción: es el único camino”. Creo que Xavi tiene pensado elaborar esta afirmación en el blog de (la incubadora punk).

(que trabaja como agile coach en F-Secure desde hace años, y que aún no pierde la esperanza de volver a trabajar a España), trajo el taller de TDD que ya hizo en la CAS2010 con . Esta vez con otro miembro del  ( ). Es un ejercicio muy interesante que ya he practicadoen un dojo organizado por en Valladolid y que, resumiendo, consiste en hacer que un equipo resuelva un problema haciendo TDD y luego borre el código, dejando sólo los tests al otro equipo para que pueda reconstruir el código a partir de ellos. Un ejercicio muy recomendable, como el propio título indica: “para mejorar tu TDD”.

Las (sin , que la echamos mucho de menos, por cierto) nos presentaron un taller de juegos ágiles, donde vimos cómo nos afecta en nuestro trabajo la manera de relacionarnos con los demás. El título del taller “Cómo ganar bombones dando saltos” hacía referencia a un ejercicio que hizo vivir a los participantes una versión del dilema del prisionero en la que alguno diría que no te puedes fiar de los demás pero donde yo, personalmente, vi que las restricciones de incomunicación impuestas a los grupos favorecía la toma de decisiones perjudiciales para todos. Es un ejercicio que, como la mayoría que se basan en la teoría de juegos, está muy sujeto a la aversión al riesgo de los participantes. En este caso, yo diría que había mucho “cobalde”. :-D

Hubo un par de charlas dedicadas a los jóvenes que están acabando los estudios y se acercan al mundo de la informática profesional. Las () hicieron una presentación muy interesante sobre cómo cambiar el enfoque a la hora de “hacer el CV”. Ellas proponen (y yo estoy muy de acuerdo) abandonar eso del envío masivo de CV a ver qué es lo que cae y que, en cambio, seleccionemos y estudiemos a las empresas donde queramos entrar. Otro de los consejos que más me gustó (seguramente porque lo di yo, je, je) es que una buena manera de localizar a las empresas es asistir a los eventos que organizan las diferentes comunidades profesionales. Como ejemplo puse eventos como la propia XGN. La otra charla a la que me refería la dieron y Alberto Peña () pero no pude asistir. Su título, desde luego, muy atractivo: “Convierte tu vida profesional en una LanParty”. No, no va de trabajar con , pero de alguna manera tiene que ver. La charla iba sobre software craftsmanship.

Alberto y Alfredo también hicieron varios talleres muy prácticos e interesantes, pero no estuve en ninguno de ellos. No me preguntéis por qué, aún no me lo explico. De hecho, llegué tarde al de Juan y Oscar y me salí pronto para poder ir a la cafetería para que Alberto nos diera en “petit comité” el taller “Teo crea su primera aplicación web”. Alberto nos enseñó a ir creando nuestro propio proceso de despliegue continuo, identificando las tareas que vamos necesitando y añadiéndolas al Rakefile.

Por cierto, he coincidido con en varias charlas y talleres, entre ellos el de “Teo”. Es un tío muy amable y con muchas ganas de que se hagan bien las cosas. Definitivamente me gustaría coincidir más veces con él, y sobre todo con más tranquilidad. Igual en algún evento de la comunidad ágil de Asturias :-)

Xavi y yo presentamos un par de talleres como . Un taller de backlog que titulamos “UserStoryDojo” y que presentamos con este texto:

Cuando programamos nos quejamos de que no sabemos bien lo que tenemos que hacer, que las tareas no están bien definidas,… y nuestros clientes se quejan de que no es eso lo que esperaban recibir… Hacemos CodingDojos para practicar nuestras habilidades programando, entonces… ¿por qué no practicar para mejorar nuestras habilidades a la hora de escribir historias de usuario?

En este taller pedimos al público que nos ayudara a escribir las historias de usuario de un CRUD (create, retrieve, update, delete). Lógicamente, no se lo pusimos fácil. :-)

El otro taller fue un Coding Dojo donde presentamos otra codekata. Esta codekata es muy gallega y la llamamos KataLonja. La publicaremos pronto en agilismo.es para que la podáis ir practicando. Es una kata bastante completa, donde nos hemos centrado en los aspectos de diseño orientado a objetos y de elección de una metáfora. Esta kata tiene sorpresa porque detraś de la metáfora de la venta y transporte de pescado hay otro problema bien diferente… :-)

Tengo algo grabado de ambos talleres, pero la calidad es muy mala y no creo que publique nada. Quizás sea el momento de ir mejorando este aspecto de nuestras actividades como agilismo.es. ;-)

Lo siento, sé que hubo más talleres y charlas, incluso entré brevemente en una sobre Arduino organizada por BricoGeek, pero desgraciadamente este año había muchas charlas muy interesantes. Eso sí, también hubo algunas que se quedaron vacías y otras (como la de “Teo” o las “Rubykoans”) se celebraron más en un ambiente de openspace que el de una conferencia. Bueno, quizás el año que viene, después de la honesta y pública retrospectiva que han hecho y el resto de organizadores del devOpen (el openspace que pretendíamos tener durante la XGN) todos habremos aprendido y podemos ayudar a organizar una zona profesional aún mejor.

Muchas gracias a Adrián y Alfonso que, dentro de la locura logística que requiere la LanParty, encontraron un hueco para charlar con todos los ponentes. Muitas gracias.

BeCodeWeek : Día 5

Ayer empleé la mañana en bloguear y algunos asuntos relacionados con mi salto al vacío en los que, por cierto, Xavi me echó una mano muy importante para enfocarme.

Después de comer le dimos un empujón muy serio a la kata para la XGN porque, entre otras cosas, esa misma tarde habíamos quedado con Ricardo Borillo y otros más para practicar con ella. Cuando llegaron ya estaba suficientemente enfocada y todos accedieron amablemente a servirnos de conejillos de Indias. Xavi hizo una presentación muy clara de la kata. Era como si hiciera meses que estuviera escrita. Aún tenemos que trabajarla un poco más, pero si la XGN fuera esta tarde ya podríamos hacer este taller con perfectas garantías. Trabajar con Xavi da una gran seguridad. Tanta que a veces da miedo. :-D

Poco a poco fue llegando todo el mundo. Emma y algunos compañeros de OpenFinance. Y poco a poco todos los demás. Hasta Ricardo Borillo, que venía de Castellón. Mientras llegaban todos, Emma me hizo una pregunta muy interesante y para cuya respuesta tendré que escribir un post entero: cómo desplegar Fitnesse en Integración Continua y con Control de Versiones. Como yo nunca he usado Fitnesse en Integración Continua sino Fit, no supe bien qué contestarle. Me sonaba pero nada concreto, así que acudimos a Google y, tras varias búsquedas, llegamos a estos dos videos de UncleBob (el autor de Fitnesse):

  • http://vimeo.com/2498115 Cómo preparar Hudson para ejecutar la integración continua del proyecto Fitnesse (no entra en detalle sobre cómo se ejecutan los tests de Fitnesse, pero ya es un punto de entrada)
  • http://vimeo.com/2765514 Enseña cómo usa él Git para controlar las versiones de sus especificaciones con Fitnesse, con lo que se aprende un poco sobre cómo guarda esta herramienta sus ficheros.

Ambos son videos de hace ya un par de años por lo menos, pero si, como Emma, te estás planteando darle una oportunidad a Fitnesse, quizás te merezca la pena echarles un vistazo.

Durante un par de horas estuvimos completamente absorbidos por la práctica de la codekata. Verdaderamente nos ha salido una kata bastante completa y, a la que nos despistemos, demasiado larga en su resolución. Tendremos que trabajarla bastante aún si queremos mostrar una solución limpia en la XGN. Otra opción es simplemente dejar el enunciado y que los que vengais trabajéis mucho, je, je. Veremos si podemos hacerlo todo porque también tenemos que preparar el taller de backlog y eso va a necesitar mucha más atención por nuestra parte.

Al terminar ese coding dojo privado nos fuimos a cenar. Yo había propuesto pedir algo a un uruguayo muy majete que hace comidas para llevar, pero no hubo mucho éxito. Luego confesaron que ninguno quería dar la impresión de falta de compromiso haciendo una llamada durante el dojo. . Terminamos comiendo muuuy tarde, pero no fue tampoco un , ni mucho menos. Pasé un rato muy interesante entrevistando a para . Esta vez en video y, por supuesto, con mucho ruido de fondo. :-D

Luego estuvimos hablando sobre la organización de la CAS2011, que este año, gracias a Ricardo, se hará en la Universidad Jaume I de Castellón. Estuvimos escuchando sus planes y, la verdad, ¡ésta no me la pierdo!

 

Ahora estoy esperando a Xavi para conocer algo de Valencia, que he venido y no he visto casi ná. :-)

BeCodeWeek : Día 4

Ayer sólo hice tres cosas: blog, taller de product backlog y coding dojo. La primera no merece la pena mencionarla salvo que empleé casi toda la mañana. Después me puse a avanzar (no mucho, la verdad) en la codekata que estamos preparando para la XGN. Cuando llegó Xavi de conseguir dinero (contratos para casi todos los colaboradores) era ya casi hora de comer. Sin embargo, asistí a un momento muy interesante. Miguel Angel levantó la mano (metafóricamente) para avisar de que estaba teniendo problemas para avanzar al ritmo esperado. Xavi le echó una bronca (muy amable y didáctica, eso sí). Le explicó que había que avanzar en base a certezas y dejarse de tratar de demostrar más de una cosa en cada paso. En este caso, la iteración consiste en hacer una prueba de concepto, una bala trazadora que demuestre que la arquitectura funciona y que se puede hacer lo que se pretende. Y Miguel Angel lo entendió perfectamente y, en vez de responder a la agresión, reaccionar de una manera sumisa o bloquearse y pedir la solución concreta, explicó cuáles iban a ser sus siguientes pasos: de qué iba a prescindir para poder avanzar y en qué se iba a enfocar para conseguir el objetivo de la iteración. Y todo eso, con el cliente delante y con total naturalidad. Chapó. Es evidente que ser un punk no está reñido con ser un gran profesional.

Después de comer tomando el sol en la plaza de la Catedral con @luislitze y , volvimos a para tomar un cafelito y, mientras llegaba un cliente para preparar una visita a una feria de inversores en San Francisco, conseguí sacar la media hora mínima para empezar a trabajar el taller de backlog que también tenemos que preparar para la XGN. Surgieron conversaciones muy interesantes y creo que va a quedar muy bien. Este taller me lo voy a tener que preparar especialmente bien porque Xavi quiere sacarme de mi zona de confort y que lo lidere yo. Me gusta, porque es uno de esos empujones que necesito para saltar al vacío y porque tiene mucho que ver con un terreno en el que me siento especialmente cómodo: los criterios de aceptación (que idealmente deberían estar automatizados).

Y al final de la tarde ya nos fuimos yo con mi camiseta de agilismo.es y Miguel Angel con la de BeCode al Coding Dojo que se celebraba en la Escuela de Informática (la ETSINF). Xavi, por supuesto, iba con sus pintas de siempre. Las mismas que había llevado para visitar a un cliente y conseguir varios contratos, por cierto.

En la ETSINF me buenas instalaciones, aunque para ser la Universidad, muy poca audiencia. Eso sí, al final tuvimos conversaciones muy interesantes con algunos de los asistentes. Durante el ejercicio dimos varias recomendaciones de libros: “Refactoring“, “Implementation Patterns“, “TDD by example“, “Desarrollo Agil con TDD“, “Clean Code” y, por supuesto, “The Pragmatic Programmer“. A los que quedaron al final, charlando con nosotros sobre lo poco que se aprende en el trabajo, también les recomendé “Apprenticeship Patterns“.

La codekata que propusieron Miguel Angel y Xavi era FizzBuzz. No me deja de sorprender esta kata por la cantidad de cosas que se pueden practicar y cómo, siendo tan simple, te permite hablar de tantas cosas: naming, refactor (no sólo los refactors “hacia adelante”, sino también los “hacia atrás”), duplicación, código limpio, baby steps… Tanto es así, que me he empezado a reproducir la kata en el portátil usado git y poniendo un comentario en cada commit. Cuando lo tenga lo subiré a github.

Y bueno, cena con una agradable conversación con Miguel Angel y a la cama.