Friday, December 30, 2011

Retrospectiva del 2011

D'aquest any que ara s'acaba només puc comptabilitzar coses positives i la més important de totes ha estat entrar en contacte amb els amics de Agile Barcelona, que m'ha portat a participar en altres grups i m'ha omplert de motivació i energia.

A nivell de lectura he començat molts llibres que no he acabat, i tinc la tauleta de nit amb cinc a mitges, alguns molt avançats. Decididament és una cosa a millorar per a la propera iteració.

He llegit sobretot llibres tècnics i en anglès, i dels no tècnics he dedicat moltes hores a George R. R. Martin (potser massa i tot). És curiós, però quan he repassat les lectures, hi havia coses que tenia la sensació que havia llegit feia més temps.

Al blog tinc moltes coses com a Esborrany que no acabo d'escriure, sobretot temes relacionats amb bases de dades. Tinc anotat com a impediment que el codi dels posts no es visualitza prou bé, així que miraré de resoldre-ho el més aviat possible.

El 2012 es presenta molt interessant i la conferència ALE 2012 que es farà l'agost a Barcelona és un estímul extra.

Què tocarà per l'any vinent? millorar l'anglès sobre tot i recuperar les lectures pels temes frikis que sempre m'havien interessat: usabilitat, visualització de la informació, desenvolupament àgil i soft skills. M'haig de posar les piles en moltes coses, però ganes no en falten.

Gràcies per llegir-me.


Wednesday, December 7, 2011

ALE Bathtubs: conferències sense sortir de casa

ALE bathtub
La Agile Lean Europe (ALE) és una xarxa de persones que tenen ganes de difondre i fer créixer el pensament Lean i Àgil. És oberta, així que qui vulgui pot apuntar-se. Podeu seguir-los al Twitter per @alenetwork_eu.

Una iniciativa interessant de l'ALE són les Bathtubs Conferences  que són conferències a les que pots assistir sense moure't de casa, i si vols, des de la banyera (bathtub en anglès vol dir banyera). Fem servir el GoToMeeting de CITRIX, que és molt semblant al WebEx de Cisco, i que consisteix en visualitzar la pantalla del presentador i sentir la seva veu a través d'IP. Llàstima que la tecnologia de CITRIX no funciona amb Linux...

El passat 6 de desembre va ser la IV conferència. En aquest cas quatre ponents van presentar les seves idees durant 15 o 20 minuts, deixant després temps per a les preguntes. Va ser des de les 21 fins a les 22:30 (més o menys) i va valer molt la pena.

La primera xerrada la va fer Tonino Lucca, sobre com fer el seguiment dels elements no planificats en Sprints de Scrum.

La segona va ser de J.B.Rainsberger sobre la economia del disseny del software, on començant per recomanar el llibre The Mythical Man-Month (un dels meus favorits) i de parlar de Complicació (i no Complexitat) va definir que el cost d'implementar una funció es pot expressar com:
el cost de la seva complicació essencial + el cost de la seva complicació accidental
Va afirmar que la millor manera de reduir la complicació accidental consisteix en aplicar TDD, per evitar la complicació accidental, i Refactoritzar, per eliminar-la. Finalment, amb bon criteri, afirmà que Scrum necessita XP.

La tercera la va dur a terme Silvana Wasitova amb un títol tan suggestiu com PMI no és l'enemic (PMI és el Project Management Institute) on proposa com conviure amb els gestors de projectes "tradicionalistes" (m'encanta el terme), i argumentà que les dues postures no són tan diferents. Com a ajuda pera la integració proposava el llibre The Software Project Manager's Bridge to Agility.

La darrera presentació, en la meva opinió, va ser la més interessant. Marcin Floryan va parlar de d'on ve el codi dolent. Després de parlar de que el codi dolent pot venir de construir coses equivocades o construir-les malament va arribar a una conclusió força interessant: la majoria dels problemes venen de no haver mantingut una conversa difícil: de no haver-li dit a algú que alguna cosa no funcionava, que necessitàvem més temps o que les expectatives no són realistes. El problema està en NO parlar. I va recomanar dos llibres que segur són molt interessants Difficult conversations i Crucial confrontations.

Una experiència molt interessant i aniré preparant la banyera per la propera edició.

Monday, December 5, 2011

Global Day of Coderetreat a Barcelona

La idea d'un Code Retreat, tal i com explica Corey Haines, consisteix en dedicar un dia a millorar la nostra pràctica com a programadors. En el dia a dia, amb les pressions i les presses, de vegades no podem fer les coses com ens agradaria fer-les, així que destinem un dia a posar-nos a prova, aprendre coses noves i passar-ho bé (a lo friki). Si retreat en anglès és "retir espiritual", ho podríem traduir com "retir pel codi".

El passat dissabte 3 de desembre de 2011 es va fer el dia mundial del coderetreat, desenvolupant de manera simultània code retreats a diferents ciutats de tot el planeta, i a Barcelona ho va organitzar Agile Barcelona a les instal·lacions de  Runroom (gràcies Carlos).

Comptant amb en Jaume Jornet com a facilitador vam començar a les 9:00. Desenvolupant per parelles i fent TDD ens vam posar amb el problema del Joc de la Vida de Conway en iteracions de 45 minuts i 15 minuts de retrospectiva. Cada iteració canviem de parella. Cada iteració esborrem tot el codi. A ser possible, pots provar algun llenguatge amb el que no estiguis acostumat. L'objectiu no és acabar el problema sinó aprendre.

Vam fer sis iteracions, fins més enllà de les 5 de la tarda. A cada iteració s'anaven afegint restriccions que ho feien més interessant: no poder tocar el ratolí (cal conèixer l'IDE), fer codi expressiu, cap mètode de més de 4 línies, ping-pong programming, no es pot parlar amb el company, no es pot esborrar codi, etc. S'aprèn molt!

A banda del Java, vaig poder tastar el Objective C (gràcies Pedro) i C# (gràcies Jose), però em vaig quedar amb les ganes de veure Ruby i Clojure. La darrera iteració va ser en format Randori i fent servir cyber-dojo.com, però ja estàvem massa cansats.

Durant el dia vam contactar per videoconferència amb els companys de Macedònia, Polònia, Berlin, Bilbao i Madrid, i així vam tenir més el sentiment de Code Retreat global.

Més de 20 persones ens vam arreplegar per aprendre a Barcelona, però vam ser més de 2000 a tot el món. Gràcies a tots els que us vau passar per Runroom, perque vaig poder aprendre de tots, i gràcies a les families que ho van fer possible.

Actualització:
Hi ha un vídeo força interessant de la jornada de Barcelona a la Web de Runroom.

Actualització (11 dec 2011):
Un bon resum en diapositives del que és el coderetreat.

Thursday, December 1, 2011

Estic llegint: Management 3.0

Leading Agile Developers, Developing Agile Leaders
De Jurgen Appelo. Desembre 2010. Publicat per Addison-Wesley. 464 pàgines

Jurgen Appelo fa un recull en un sol llibre d'una gran quantitat de coneixement al voltant de la motivació, la creativitat i la gestió del canvi, orbitant al voltant del desenvolupament àgil, però en molts casos transportable a altres contexts.

En la meva opinió el llibre segueix fidelment el Mètodel del Mojito (del mateix autor), que consisteix en copiar les idees d'altres i barrejar-les per aconseguir una cosa molt millor.

El capítol 2 és una excepcional repàs a la història del desenvolupament àgil, de les diferents tendències i dels obstacles que es troba.

Al capítol 3, a banda d'explicar que un equip de desenvolupament és un sistema adaptatiu complex i de presentar un seguit de teories, dóna una interessant distinció entre complex i complicat.
  • Complicat = difícil de comprendre (oposat de senzill). Relacionat amb l'estructura. 
  • Complex = difícil de predir (entre ordenat i caòtic). Relacionat amb el comportament.
Els capítols 5 i 6 són els que veig més directament aprofitables per a sectors no informàtics i són els relacionats amb la motivació i l'auto-organització.  La teoria de X i la teoria de Y, la motivació intrínseca i extrínseca, les tècniques de creativitat i la diferència entre els elements de motivació i els factors d'higiene, són algunes de les perles d'aquests capítols.

Al capítol 10 parla d'una debilitat del manifest àgil, i l'anomena el "punt cec": la competència dels individus. Les pràctiques àgils funcionen si l'equip és bo, i aquesta debilitat la intenta combatre el manifest per l'artesania del programari.
L'autor indica que la competència té dues dimensions, disciplina i habilitat, i que s'han de treballar les dues.

Al capítol 15 presenta el seu propi model de millora, que anomena SLIP (Simple Linear Improvement Process) i el compara amb altres models, com el Plan-Do-Check-Act (PDCA, el cicle de Deming/Shewhart) o el DMAIC de Six Sigma. 

Un bon llibre per aprendre del món de l'agilisme, de com manegar equips àgils, i ple d'apuntadors per aprofondir en tots aquests interessants temes.

A més vam tenir l'oportunitat de conèixer en persona a l'autor quan va venir a la Scrum Week de Barcelona i ens va explicar Com canviar el mon.