Sunday, October 2, 2011

Coding Dojo: fent Katas

Un Coding Dojo és una trobada on un grup de desenvolupadors es posen a treballar en un problema per tal d'aprendre i compartir experiències. Es tracta d'un esdeveniment on tothom va a aprendre (i tothom accepta que estem tota la vida aprenent)  i es practiquen les tècniques de Test Driven Developent (si no hi han proves el codi no existeix) i de Pair Programming.

La idea és que per aprendre cal repetir, repetir i repetir... com els practicants d'arts marcials. I d'aquí que hagin manllevat tota la terminologia de les arts marcials japoneses.

Hi ha diferents modalitats de Dojo: Kata preparat i Randori. Al Kata preparat els assistents tracten de resoldre un problema conegut, treballant en parelles, mentre que al Randori només hi ha un parella que codifica, la resta segueix el que van fent en un projector i la parella va canviant per torns.

Havia llegit molt però fins divendres no vaig tenir una oportunitat de participar en un coding dojo organitzat per Agile Barcelona, amb l'hospitalitat de Runroom i el patrocini de Úbeda Gin&Tapas.

Es tractava d'un Kata preparat (no de Randori) i van omplir la sala 20 persones per tal de resoldre el problema de les Torres de Hanoi. Quan vam veure que la web on acostumaven a recollir la descripció de les kates (http://codingkata.org/katas/) estava caiguda, vam improvisar i vam agafar la kata proposada a 12 meses 12 katas que era KataArgs basada en el capítol 14 de Clean Code.

Quan ens vam presentar cadascú deia els llenguatges de programació en els que treballa per tal de veure amb qui podries posar-te a resoldre el problema: Java, PHP, .Net, JavaScript, ... No sé quins llenguatges realment es van fer servir, però les converses posteriors treien a la llum que el més conegut era el Java, tot i les seves febleses.

L'experiència va ser increïble, tot i que la Kata potser era una mica complexa. Els pomodoros, la organització de l'espai de treball, el Ballmer peak... caldrà repetir.

I això de tornar a estar fent Katas és un estímul extra.

1 comment:

Antonio Santiago said...

Espero poder anar-hi a la proxima.
Jo tinc experiencia en diferents llenguatges, entre ells Java, pero estic mes interessat en aplicar TDD de forma practica.
Tambe espero fer contactes amb gent motivada per tal de poder fer d'altres projects "altruistes".