Archive for July, 2009

27 JulHormigas en los garajes


Aprovecho para disculparme por no poder ir a la tercera Desconferencia de Ecosistemas Software, pero realmente lo que quiero es responder a Manuel Recena por su artículo “Exprimidores de carne”.

La encuesta de población activa (EPA) está en 4.010.700 personas desocupadas (más o menos) en su última “foto fija” del primer trimestre. A pesar de que es del primer trimestre, la tendencia sigue siendo ascendente (muy ascendente) y la tendencia del paro registrado tampoco es para tirar cohetes, a pesar de todos los planes y actuaciones de los diferentes gobiernos (nacional, autonómicos, provinciales y locales). Y artículos como el de Manu no son más que un reflejo de la opinión de muchos que, aparentemente, sólo podemos ver cómo la situación empeora sin poder hacer nada para remediarlo. Y lo peor está por venir… o eso dicen.

Yo no puedo coincidir con esta visión. Quizás tengo la ventaja de no estar viviendo “el día a día” desde dentro de ninguna empresa. Quizás es porque en este año sabático he podido desprenderme de muchos prejuicios (aunque quizás haya adquirido alguno nuevo, je, je). Pero estoy plenamente convencido de que aquí, en España en particular, aunque probablemente podamos generalizarlo al resto del planeta, los que realmente tienen un problema y están muertos de miedo son los que pretenden seguir haciendo lo mismo que han estado haciendo durante los últimos años. Pero el mundo ha cambiado y la desaparición de todos esos recursos financieros ficticios, que hacían que muchos vivieran en una prosperidad inapropiada, está poniendo a cada uno en su sitio.

Hasta ahora hemos vivido un verano donde las cigarras han vivido muy bien, e incluso se reían de las hormigas… pero el tiempo de las hormigas ha llegado. Es el momento de que demostremos que las pequeñas y medianas empresas de este país no necesitan a las administraciones públicas ni a las grandes corporaciones para sobrevivir a base de subvenciones ni subcontratas. Claro que eso significa que todos (TODOS) tenemos que revisar y, como dice mi amigo Joaquín, “poner en crisis” todos los procesos, objetivos, procedimientos, organizaciones, planes, dependencias, formaciones… Seguir pensando que los que nos han metido en el agujero son los que nos van a sacar es poco menos que un pelín inocente.

No creo que los directivos de las grandes organizaciones, dueños de los grandes presupuestos, estén dispuestos a cambiar el “status quo” existente durante tanto tiempo. ¿Pero a quién le importa si cambia o no el “status quo”? A los que dependen de esos presupuestos: empleados y funcionarios, subcontratados, subvencionados y directivos y mandos intermedios. De entre todos estos grupos, sólo los últimos tienen cierta capacidad para cambiar las cosas, pero estoy casi seguro de que ninguno estará dispuesto a tomar decisiones que le dejen “con el culo al aire”. Nunca lo han hecho y ahora mucho menos. El resto, me temo que están (estamos) a merced de las decisiones de estos, con lo cuál sus opciones están muy limitadas.

En cambio, la mayor parte del PIB no tiene que ver con estas grandes organizaciones, sino con las pymes, micropymes y otras modalidades de trabajador autónomo. Las necesidades de los ciudadanos, las verdaderas necesidades, tienen mucho más que ver con éstos que no con las que nos explican las grandes organizaciones. La verdadera economía, la de verdad, la que se puede tocar y viene de las verdaderas necesidades, es la formada por este tejido menos “glamuroso” pero más pegado a las personas.

¿Y qué tiene toda esta arenga política que ver con el agilismo? Pues mucho. Porque ser agilista representa un cambio de actitud, un cambio de valores, y sobre todo un cambio de mentalidad. La economía real necesita que aceptemos que las reglas del juego han cambiado y que, por tanto, tenemos que buscar nuevas fórmulas para seguir jugando. Y las diferentes metodologías ágiles, que se centran en el cliente y en darle valor al mismo, que aceptan el cambio en las necesidades del cliente como una realidad y no se parapetan detrás de burocracias ni contratos, éstas metodologías son las que podemos emplear para darle “la vuelta a la tortilla”. Y no necesitamos que las grandes consultoras (Capgemini, Indra, IBM, Everis, etc) sean las que lideren el cambio. Porque ellos y sus clientes están en el grupo de los que no quieren que nada cambie. Por tanto, es el momento de dejar de esperar que nos subcontraten y ofrecer nuestros servicios a los verdaderos líderes de la economía en nuestro país: las pymes, las micropymes y los autoempleados.

Bueno, puede que no esté en lo cierto. Puede que me equivoque. Pero, ¿qué sentido tiene “seguir talando árboles sin descanso en vez de detenerse un momento a afilar el hacha”? Es el momento de dejar de quejarse en la máquina de café, abrir el garaje y llenarlo de hormigas. Me refiero a que todos aquellos que estáis descontentos con cómo os tratan en vuestra empresa podéis (incluso si me aprietas, debéis) poneros en movimiento y hacer como los americanos en sus garajes. Buscaos un lugar donde empezar modestamente con vuestra idea. No es necesario (en todos los casos) que abandonéis vuestro actual empleo. Pero es importante que seáis capaces de desprenderos de ese miedo al futuro y dar la oportunidad a la INNOVACIÓN (no con minúsculas, sino con mayúsculas). Si esperáis a que esa idea brillante sea financiada por un banco o por una administración pública, lo lleváis claro, pero no es necesario: estrujáos la mollera, leed cómo lo hicieron otros que también empezaron en un garaje y veréis que es posible.

Quizás algún día nos veamos en algún garaje, quién sabe… :-)

P.S.
La foto es un homenaje a aquellos que empezaron en un garaje… pulsad en la foto y veréis a quién me refiero, porque creo que algo de éxito tuvieron. :-)

27 JulEn la Tenerife LanParty 2k09


El pasado jueves estuve en Santa Cruz de Tenerife dando una charla sobre agilismo titulada “Los principios ágiles”. Carlos Blé consiguió convencer a la organización de esta Tenerife LanParty 2k09 para que me invitasen y, la verdad, no me arrepiento nada a pesar de que no pude aprovechar el viaje para asistir a otras charlas que se dieron en la zona profesional, echar unas partidas en alguna consola en la zona de juegos, cantar la sintonía de Doraemon o aprender a escribir en japonés en la zona manga o incluso para hacer un poco (más) de turismo fuera del magnífico Recinto Ferial que el Cabildo de Tenerife había puesto a disposición de la organización. Por cierto, tampoco pude estar con Manuel Recena, Abel Muiño, Antonio Manuel Muñiz y los demás en la Tercera Desconferencia de Ecosistemas Software en Sevilla. Pero en fin, me debo también a mis obligaciones familiares…

Lo cierto es que el hecho de que mi visita fuera necesariamente tan corta hizo que todo fuera más concentrado e intenso de lo que hubiera sido en condiciones normales. El hiperactivo Rodrigo Trujillo (profesor de la Universidad de la Laguna y Director de la Oficina de Software Libre) me explicó que éste es el primer año que incluyen una Zona Profesional en esta LanParty que va ya por la sexta edición, que nació como un discreto Salón del Manga y que ahora es uno de los mayores eventos de España relacionados con esta temática. Quizás la difusión del evento no fue suficiente y por eso a muchas de las charlas de la Zona Profesional acudió poca gente. De todos modos, tanto a mi charla (“Los principios ágiles”) como a la de Carlos (“Cómo dar los primeros pasos en agilismo”), creemos que la asistencia fue más que aceptable; no los conté, pero creo que en mi caso tendría algo más de una docena de personas, lo cuál no es comparable con las que van a oir a Martin Fowler, pero tampoco me puedo comparar con él… :-)

Lo que sí me dio un poco de rabia es que al final no nos organizaramos suficientemente bien para ir a cenar como habíamos previsto, con lo que no pudimos charlar acerca de crear el grupo local de Agile Spain en Canarias, que era otro de los objetivos que Carlos y yo nos habíamos marcado para esta visita. De todos modos, nos fuimos a tomar unas bebidas refrescantes :) y tanto en el camino (de ida y de vuelta al Recinto Ferial) como durante el rato que estuvimos allí, tuve la oportunidad de conocer a mucha gente, incluído un holandés con el que teníamos que hablar en inglés y que, entre otras cosas, me contó que se acaba de mudar a Tenerife “porque le gusta mucho el clima”. Esto último me confirma que mis colegas canarios, en estos tiempos de crisis, tienen una ventaja competitiva sobre mucha gente: su clima. ¿Y qué tiene que ver el clima con el desarrollo de software? Pues, en mi opinión, mucho. Je, je, pero lo voy a dejar para otro artículo, y así creo expetación y me doy tiempo para escribirlo un poco mejor.

En mi visita a Tenerife he hecho bastante “networking”, vamos, que he charlado con mucha gente. A muchos les he dejado mi tarjeta para que me escriban, pero a todos he de decir que mis posibilidades (sobre todo de tiempo libre) para dedicarme a responder (con un mínimo de calidad) son un poco limitadas, así que espero que me disculpen si mi “ancho de banda” es un poco bajo. :-)

De todos modos, muchos me preguntaron sobre el enlace a la charla de “Contratos Ágiles” y, como quizás no entré mucho en ello (no soy un experto, ni mucho menos), creo que convendría hacer hincapié en un detalle que expliqué cuando “me colé” al final de la charla de Carlos Blé. Se trata de que no deberíamos ofrecernos como ágiles a nuestros clientes sin la experiencia previa necesaria. Scrum, XP y demás métodos ligeros pueden parecer muy sencillos, pero en la práctica todos ellos requieren un cambio de mentalidad importante. Por ello no parece una buena estrategia hacer “pagar el pato” de nuestros errores a nuestros clientes. Si estuvisteis en mi charla (y si no también) os recuerdo que uno de los principios ágiles pide que busquemos la colaboración con nuestros clientes, y yo recomiendo que lo hagamos por el camino de buscar su confianza empezando por demostrarle que lo respetamos.

Bueno, como aunque no lo parezca estoy de vacaciones, no me enrollo más y sólo agradecer a Carlos Blé y al resto de personas de la OSL y de Innova7 por su amabilidad en todo momento. Ojalá el año que viene nos podamos volver a ver. ;-)

P.S.
Dejo a deber una fotillo de cuando estuvimos tomando cervecitas (me lo ha recordado Gregorio por correo) y también un nota acerca de Kuko y su ModularIT.

12 JulFe de erratas de la fe de erratas

¡Hola desde la playa! Y con una conexión a internet más propia del siglo XX que de éste.

Pero en fin, lo primero es pediros disculpas a los que habéis leído las últimas dos entradas y habéis querido leer “Reluctant Leader, Reluctant Follower”. No tuve la precaución de comprobar el enlace y estaba mal. Éste es el correcto.

Sólo me queda esperar que os guste al menos tanto como a mi.

10 JulLiderar mediante el ejemplo (fe de erratas)

Vaya, parece que en mi anterior artículo, en el que ponía en un pedestal a mi venerado Martin Fowler, cometí dos errores y tengo que solucionarlos.

El primero era de esperar: resulta que el libro donde leí aquella anécdota sobre Fowler no era de Kerievsky. El mismísimo Fowler (creo que aún nuestra incipiente amistad no me permite tutearlo y decirle Martin) me puso en la pista de que se trataba de algo que en algún momento había citado mi otro admirado programador: Kent Beck. Vaya, entonces recordé que mi “a veces maestro” Xavi Gost me pasó hace un par de años un PDF titulado “Reluctant Leader, Reluctant Follower” que me resultó muy inspirador. Pero como no sabía de dónde lo había sacado y aquello era apenas un borrador, le pregunté a Google. Pero no hubo manera de encontrar el dichoso PDF. Así que le he preguntado al mismísimo Beck si me podía pasar un enlace a dondequiera que tuviera publicada aquello.

Y me contestó:

Jose,

I just looked at that manuscript. Yuck! I wouldn’t write anything like that today. However, it’s out there so I’ll pass along my copy.

Regards,
Kent

Pero resulta que su copia es más vieja que la mía, así que he decidido publicar la que yo tengo y compartirla con vosotros (y con el resto del mundo gracias a Google, claro).

Bueno, todo esto para confirmar que los años no pasan en balde y que debo pedirle urgentemente a Los Reyes una Nintendo DS para jugar a eso del Brain Training. :-)

El otro error es aún más decepcionante. Resulta que al preguntarle al Sr. Fowler acerca de la anécdota de la que él es protagonista, también le comenté su manera de “forzar amablemente” que todos se levantaran. Pero resulta que alguien les pasó una nota pidiendo que se levantaran para hablar y él simplemente fue el primero.

Ah you couldn’t hear the fact that someone asked us to. I was just the first to go after the request.

Martin Fowler
http://martinfowler.com

¡Maldita sea! Para una vez que “me carteo” con Martin Fowler y hago el ridículo. He debido parecerle un “fan adolescente”, pero bueno, es lo que tiene poner a alguien en lo alto de un pedestal. :-)

Bueno, al menos os recomiendo (también como lectura veraniega) esta obra “repudiada” de Kent Beck de apenas 34 páginas sobre liderazgo pero destinada a aquellos que realmente sentimos que no hemos nacido para ser líderes pero que tenemos que convivir con el hecho de que tarde o temprano tendremos que serlo (aunque sea sólo un poquito).

Actualización:

Disculpad por no haber comprobado los enlaces a “Reluctant Leader, Reluctant Follower”. Ya están los correctos.

07 JulLiderar mediante el ejemplo

Hace mucho tiempo leí un artículo (creo que es éste, pero soy muy mayor y a veces me falla la memoria) donde Joshua Kerievsky comentaba cómo en su grupo de estudio de Patrones de Diseño, las reuniones a veces eran un lío porque se solapaba la gente mientras hablaba y que Martin Fowler comenzó a levantar el dedo para pedir la palabra. Al principio nadie le hacía caso, pero poco a poco fue imponiéndose la costumbre porque todos se fueron dando cuenta de que así se mejoraba la comunicación, todos se enteraban de lo que decían los demás y tenían la oportunidad de hablar sin necesidad de elevar el tono de voz.

Hoy estaba siguiendo el video de una charla (iba a decir mesa redonda, pero realmente la mesa no era redonda :-) ) en la que estaba presente mi venerado Martin Fowler. (Para los que les interese, la charla estaba organizada por ThoughtWorks para hablar -en inglés- sobre la nube y participaban gente como Neal Ford, Rebecca Parsons y otros). Después de una presentación más o menos formal por parte de uno de los organizadores, los miembros del panel comenzaron a dar su primera opinión sobre el tema. Pero en su primera intervención, Mr. Fowler hizo algo diferente. Se puso de pié para hablar. Y curiosamente, sin más, los demás intervinientes fueron siguiendo su ejemplo, hasta el final.

Si en tu día a día crees que los demás deberían hacer las cosas de otra manera y estás convencido de que las cosas no se pueden cambiar, quizás podrías intentar seguir el ejemplo de Martin Fowler y liderar mediante el ejemplo.

05 JulQué quiero ser de mayor

Hace un año aproximadamente que estoy desempleado, en parte por voluntad propia, entre otras razones porque en otoño nacía mi segundo hijo. Ya desde el principio había tomado la decisión de tratar de aprovechar todo el tiempo posible en mejorar mi formación (he leído mucho, menos de lo que me hubiera gustado, he hecho el curso de Scrum de Angel Medinilla y he asistido, también pagando, a una charla que Udi Dahan vino a dar sobre SOA), rellenar mi caja de herramientas y hacer un esfuerzo para que el agilismo en España “saliera del armario”.

Pero claro, en esto que nos enteramos de que había llegado una crisis planetaria. Así que tomé la decisión de retrasar un poco más mi reincorporación al mundo laboral. No está mal: llevar a los niños al cole, recogerlos, cuando están malitos quedarme en casa todo el día con ellos, poner lavadoras, tender, recoger y planchar… Demonios, ¡no tengo tiempo para rellenar la dichosa caja de herramientas! :-) Bueno, me ha servido para buscar maneras de ser más eficiente en mi gestión del tiempo. He descubierto técnicas como los pomodoros o GTD. Otra cosa es que sea capaz de llevarlas a la práctica con regularidad.

He seguido involucrado (aunque un poco más de lejos que al principio) en la evolución de Concordion, por ejemplo, he conseguido simplificar el proceso de publicación de las nuevas versiones en el Repositorio Central de Maven. Desgraciadamente, tengo pendiente resolver un defecto que identificamos hace mucho tiempo ya.

Pero, sobre todo, en estos meses he podido emplear mucha energía en potenciar Agile Spain:

Ha sido está siendo muy gratificante, tanto que incluso me está abriendo nuevas posibilidades profesionales que no me había planteado antes.

Pero incluso he podido sacar algún “tiempo extra” para participar en alguna lista de correo sobre TDD, dejar algún comentario en varios de los blogs que sigo habitualmente e incluso para jugar con Dokuwiki para prototipar un pequeño ecosistema ágil en mi portátil nuevo (al que debo reconocer públicamente que he cometido el pecado, una vez más, de dejar el Windows que traía instalado… y en el pecado está la penitencia: es Windows Vista). :-(

Bueno, el caso es que el tiempo que me había dado para este “año sabático” está llegando a su fin. Mi objetivo personal e ineludible es dar respuesta durante estos dos próximos meses a la pregunta “¿Qué quiero ser de mayor?”. No es broma, a pesar de mi edad, ésta no es una respuesta fácil. Especialmente porque me gustan muchas cosas. Pero como me dijo mi amigo (y algunas veces maestro) Xavi Gost, tienes que elegir entre “lo que te gusta”, “lo que haces bien” y “lo que puedes aportar/vender mejor”.

Así que, a punto de irme de vacaciones, estoy en pleno proceso de introspección para averiguar cuáles son mis fortalezas, debilidades, oportunidades y amenazas. El resultado de esto será decidir, entre otras cosas,

  • si me quedo en España o me marcho al extranjero,
  • si aceptaré un puesto incompatible con mi vida familiar o no,
  • si aceptaré un puesto bien retribuido pero en un entorno hostil (o desmotivado, que no sé qué es peor), es decir, todo un reto, o por el contrario,
  • si aceptaré un puesto mal retribuido, pero en un entorno ágil, con los recursos necesarios, rodeado de excelentes profesionales de los que aprender mucho, en definitiva, un entorno favorable,
  • o si finalmente renuncio a ser un técnico y me dedico a mejorar la eficacia de equipos de desarrollo (que es lo que más me motiva y, modestia aparte, creo que se me da bien)
  • o incluso si me paso finalmente al “bando” de los “gestores de recursos” :-)

Respecto a lo de ocupar un puesto “transversal” a modo de “pegamento” entre los técnicos y la dirección, ¿hay sitio hoy día en las empresas y departamentos de desarrollo de software de España para roles así, que no son directamente productivos porque no se les puede medir por líneas de código producidas a la semana? Quizás la respuesta no sea ni que sí ni que no, sino todo lo contrario. :-) Es posible que deba ofrecerme como un técnico (que dará líneas de código todas las semanas) pero que además ayudará a mejorar el proceso de desarrollo de software. Mmmm, esto me suena… demasiado… :-(

En fin, después de esta catársis, me siento más liberado (creo) y, quién sabe, quizás alguno de vosotros haga algún comentario que me ayude en mi reflexión…

P.S.
Por cierto, aún no me voy de vacaciones. El martes estaré en la próxima reunión del grupo local de Agile Spain en Madrid donde hablaremos de “Pruebas” y de “Historias de Usuario”. Si alguno se quiere acercar a las instalaciones de IPSA, compartir con nosotros un par de horitas… luego nos podremos tomar unas cañitas y charlar un rato más.

P.S.2
Sí, la foto que ilustra este “post” es de mi segundo hijo, Adrián. Pero no sé de qué os sorprendéis, la de la cabecera del blog es la de mi primer hijo, Pablo, hace unos cinco años. :-)

03 JulUn tablero kanban en un wiki

Últimamente se habla bastante en las listas de agile-spain y foro-agiles sobre Kanban. Éste es un método menos prescriptivo (más relajado si se quiere leer así) que Scrum e incluso más adecuado que éste para situaciones en las que no es posible hablar de proyecto o incluso de equipo. En estas listas se ha hablado de aplicarlo, por ejemplo, en equipos que, por su naturaleza, se dedican a consumir “tickets”.

Si alguien está interesado, Henrik Kniberg acaba de publicar en su blog un excelente artículo en forma de comic explicando cómo usar los tablones cuando usamos kanban. Y lo podemos complementar con el artículo de Xavier Quesada en su blog sobre visual management, que es de donde he capturado la imagen para ilustrar este artículo.

Y por casualidad he encontrado una solución muy sencilla (a la par que elegante) para tener un tablero kanban en web. Se llama Simple Kanban y consiste en un HTML autocontenido, tipo Tiddlywiki, salvo que no tienen implementado el botón de guardar. Bueno, todo se andará.

Y se me ha ocurrido intentar integrarlo en un wiki, concretamente en dokuwiki (creo que cualquier wiki valdría). Así que me puse a ver cómo era ese HTML y cómo integrarlo en una página wiki. Se trata de un montón de javascript y un par de textareas donde se encuentran los datos (una lista para las columnas del tablero y otra para las tareas que van en cada columna, con un formato csv). He creado un sencillo plugin (a pesar de no tener ni idea de PHP) que me incluye casi todo el HTML (excepto el textarea con los datos de las tareas) y no se ve mal. Cuando edito la página del wiki queda bastante sencillo. Es algo como esto:

~~NOCACHE~~

<html><!-- The data for the stories --><textarea rows="1" id="stories" style="visibility: hidden;">P_Q,S17,Fix YSlowP,S3,Make application faster</textarea></html>

[SIMPLEKANBAN]

¿Dónde está el problema? Pues que todos los cambios que hago en el tablero mediante “arrastrar y soltar” no quedan guardados en ningún sitio. ¡Maldita sea! He vuelto a caer en la trampa del pistolero. Me he dedicado a disparar lineas de código como un poseso sin pararme a pensar en si era viable lo que estaba haciendo. Bueno, tranquilo, “inspect and adapt”. El problema es que mi diseño es incorrecto. El HTML de Simple Kanban modifica ese textarea donde contiene los datos que luego muestra. Necesito quizás modificar Simple Kanban para que, en vez de modificar el textarea, modifique un fichero con los datos. Otra opción sería poner un botón de “guardar” en el tablero y que hiciera algo parecido a lo que hacen los botones de “Editar” y “Guardar” de dokuwiki. Mmmm, no tengo ni idea de cuál de las dos opciones es más factible (si acaso alguna de las dos lo es).

¿Alguien me puede echar una mano con esto?