Tuesday, March 27, 2012

Diseño ágil con TDD

De Carlos Blé Jurado (et al.) 2010.  Publicado por Lulu. 309 páginas

No tenía ni idea de que existiese algún libro en castellano sobre TDD (Test Driven Development, desarrollo dirigido por tests) y fue una sorpresa encontrar este trabajo.
Un libro bajo la licencia de Creative Commons (gratuito), que se puede descargar directamente de la web Dirigido por Tests y también puedes comprarlo en papel desde la pàgina de Lulu.

Yo he tenido la suerte de leerlo en papel, en una edición firmada que tenían en Omatech.

Los autores realizan una introducción magistral a los tipos de tests, a los frameworks, a los dobles y a todo lo que necesitas para realizar un desarrollo dirigido por tests, con un pequeños repaso de Orientación a Objetos y los principios SOLID. Gracias a la lectura a mi me ha quedado clara la diferencia entre Dummies, Fakes, Stubs y Mocks.

Además la lectura se acompaña con una buena colección de ejemplos prácticos escritos en Java, C# y Python. La fuente que se utiliza para mostrar el código resulta un poco cutre, pero se puede leer.

El libro de Kent Beck es una excelente introducción TDD pero no logra suficiente profundidad. No sería justo decir que Diseño ágil con TDD es una buena alternativa si no sabes inglés, es un buen libro de TDD por sí mismo, con contenido práctico de calidad.

Wednesday, March 21, 2012

Aplicación de metodologías ágiles en un departamento de Sistemas


A raíz de un mensaje que apareció en el grupo de Agile Spain se propuso hacer una serie de encuentros locales para hablar de la aplicación de metodologías ágiles en los departamentos de sistemas. En Barcelona tuvimos ayer (20 de marzo de 2012) un encuentro organizado conjuntamente entre Sudoers-Barcelona y Agile Barcelona.

Contenido de la reunión
Asistimos nueve personas, con una participación similar de los dos grupos y comenzamos explicando Scrum y Kanban para compartir un mismo lenguaje. A continuación dos compañeros explicaron sus experiencias a la hora de aplicar Scrum y Scrumban en sus departamentos y surgieron ideas muy interesantes.

  • Se habló de utilizar GTD (Getting Things Done) y cada día por la mañana resolver primero las tareas del Inbox que suponen dos minutos, y no tener en cuenta peticiones llegadas después de las 12AM. En este sentido, se comentó la existencia del libro llamado Time Management for Sysadmins de Limoncelli, que parece que es un clásico entre Sysadmins.
  • Se habló de usar una bandera o un escudo, que marque la persona del equipo que ese día hace soporte a los usuarios. De esa manera se deja más tiempo al resto del equipo.
  • Se comentó la importancia de medir, para poder tener una idea de lo que se puede resolver durante un periodo de tiempo, e ir adquiriendo experiencia en este sentido.
  • Se propuso la idea de utilizar la técnica del Pomodoro para conseguir mayor productividad en el equipo.
  • Se discutió el problema de la priorización y de la importancia de tener un Product Owner.
  • Se habló de la documentación y del uso de Wikis. Además se propuso validar la documentación de tareas, por ejemplo haciendo que otro compañero la use.

Surgieron algunos temas que no hubo tiempo de tratar en profundidad como por ejemplo la convivencia de metodologías ágiles con ITIL, la dependencia entre tareas, cómo conseguir mejorar el truck factor o la comunicación entre desarrolladores y administradores (DevOps). Estos temas, y otros, pueden tratarse en futuras reuniones.

Conclusiones
Nos dimos cuenta que la realidad del mundo de sistemas no es muy diferente de la del mundo del desarrollo.
Convivimos con el mismo tipo de problemas:
  • Nos gustaría tener tiempo para enfocarnos a resolver el trabajo.
  • Necesitamos ayuda por parte del negocio para determinar la priorización de tareas.
  • Y los problemas derivados de las interacciones y la comunicación, entre el equipo y con los usuarios y clientes.

Las metodologías ágiles pueden ayudar a detectar los problemas, pero no dan directamente la solución.
Ponen el foco en las personas y sus interacciones, y hacen que los miembros del equipo no puedan esconderse detrás de sus pantallas. 
Introducir transparencia en un equipo pude generar tensiones que hay que gestionar.

Sunday, March 18, 2012

He mordido la manzana

Llevo unos diez años utilizando GNU/Linux en el escritorio, últimamente Ubuntu. De cara al desarrollo de aplicaciones es perfecto: lo tiene todo y gratis. Y para el resto, no he echado nada de menos: editar textos, grabar DVDs, editar imagenes, escuchar música, ... Únicamente necesitaba Microsoft Windows cuando tenia que arrancar iTunes o el software de Blackberry.

Nunca he tenido un Mac, aunque siempre los he considerado muy sexys. Hasta no hace mucho era el tipo de máquina que usaban los diseñadores, pero cada vez veo más desarrolladores usándolas y elogiándolas. Y he pensado que estaría bien probar.

Me da miedo caer en la adicción y perder la objetividad, y caer en la trampa del ecosistema despiadado de Apple que te crea dependencias y te obliga a pagar por ellas. Seguro que seré capaz de estar alerta.

Llevo mis primeros minutos con esta máquina, sin haber traspasado toda mi vida Linux a este nuevo entorno. Me está costando cada paso, como me pasó en mis primeros pasos con Linux. No he sido capaz de editar un documento TXT definiendo la codificación UTF-8, y la única herramienta que he encontrado, TextMate, es de pago.

Será un proceso y será muy beneficioso. Es imprescindible no dejar de aprender y de probar. Y será divertido.

Por cierto, justo después de la compra he leído el post de Carlos Blé,  ¿De verdad necesitas estar a la última?, con el cuál estoy totalmente de acuerdo. Hay que ser consciente de porqué tomamos nuestras decisiones.

Wednesday, March 14, 2012

Una nova aventura

El 15 de març de 2010 vaig començar a Omatech, tot i que cada dia de feina el passava a Thomson Reuters, l'antiga Prous Science on ja havia treballat quan era a Oracle. Demà, dos anys després, passaré a formar part de Thomson Reuters amb un nou repte.

La meva estada a Omatech ha estat un somni i una sort. El fet que l'Agustí, el Miki i l'Otto siguin amics ajuda una mica, però la manera que tenen d'enfocar els negocis, la gent i la vida, és tota una lliçó. I es reflecteix en l'ambient que he respira a l'oficina. Quin equip, quin entusiasme, quin nivell! I sempre amb ganes de millorar, que és el més important. Els d'Omatech sabeu que aquí teniu un amic.

Demà comença una nova aventura. Bé, potser no tan nova, perquè d'entrada seguiré fent el mateix, però amb l'esperança de participar en l'aplicació de metodologies àgils en un entorn molt complex.

Bona sort