Taller: del waterfall al TDD

Hace cosa de un mes David Villa se puso en contacto conmigo para invitarme a dar una introducción a TDD en las jornadas del 25 aniversario de la Escuela Superior de Informática de Ciudad Real.

Y como no tengo remedio, dije que sí :)

Estuvimos intercambiando algunas impresiones sobre qué sería interesante tratar, y más o menos nos quedamos con la siguiente lista corta: quién soy y de dónde vengo, agile, scrum, clean code, TDD, nuevas metodologías acompañadas de nuevos roles, ah! ¡y una kata de TDD! ¿Y en cuántas semanas? En dos horas. Creo que en el fondo era un ejercicio para poner a prueba mi capacidad de síntesis :)

Al preparar la charla tenía bastantes incógnitas sobre la audiencia: ¿cuántos serían? ¿qué motivación les traía al taller? ¿qué nivel de programación tendrían? Como trabajar con incertidumbre es bastante complicado, cogí todas estas dudas y las usé para acotar el ámbito: una charla adaptable a poca gente (posibilidad de entrar más en detalle y en debates) o a mucha gente, genérico y abarcando bastante contenido, y preparando katas muy sencillas.

Como el tema central era el taller de TDD, he dado un repaso rápido a cómo en Kaleidos perseguimos nuestro propio motto de beautiful code: desde los proyectos en cascada, abrazando el cambio, primeros pasos de agile, la mayor relevancia de un código bien hecho y adaptable, hasta nuestras experiencias actuales sobre testing. Y después, ¡a programar! Lo más difícil fue seleccionar las katas. En realidad no hay tantas katas distintas, pero quise prepararlas lo más sencillas posible para poder centrar todo el foco en la práctica del TDD básico: rojo, verde, refactor.

A la charla han venido muchos más asistentes de los que yo creía inicialmente y han aguantado al pie del cañón hasta el cierre del taller; han participado con opiniones y preguntas y en general me han dado buen feedback y algunas cositas para mejorar.

Se ha visto mucho interés sobre cómo se engrasa una empresa con este tipo de roles: ¿qué hace un ingeniero? ¿y si mi jefe no quiere tests? (¡cambia de empresa o de jefe!) ¿y qué pasa con la documentación? ¿y con las certificaciones? ¿realmente se es más productivo gracias a los tests? Me ha resultado revelador y muy enriquecedor el conocer algunas inquietudes y opiniones.

Después de la charla, aún hemos aguantado algunos un rato más comiendo tranquilamente y charlando; no hemos llegado a arreglar el mundo, pero casi. ¡Curiosidad! Una de las katas era la de los números romanos. A la vez que la charla, había una especie de hackaton, donde los participantes debían resolver ciertos ejercicios, uno de ellos era precisamente la conversión a números romanos. Algunos asistentes al taller han echado un ojo en la hackaton y se han quedado con la sensación de que en 30 minutos, con tests y pair programming han llegado a soluciones mejores que otros participantes que directamente han ido a buscar la solución con un algoritmo. ¡Funciona!

Creo que ha salido bastante bien, y que los asistentes se han quedado contentos, había motivación y ganas. Yo me lo he pasado genial :) Muchas gracias a David por invitarme y a todos los asistentes por involucraros en el taller ¡hasta pronto!

comments powered by Disqus