Mis notas sobre AOC 2015

El fin de semana pasado participé del Agile Open Camp 2015. Como ya había mencionado, el evento se llevó a cabo en la Estancia del Carmen ubicada en las afueras de Bariloche.

Sin duda en varios aspectos este evento fue el mejor evento que participé en mi vida. Paisaje, logística, contenido, emotividad, actividades sociales y recreativas son algunos de las aspectos destacados del evento.

Creo que fue clave el hecho de que los participantes estuviéramos alojamos en el mismo lugar de la conferencia y al mismo tiempo que el lugar estuviera reservado (casi) exclusivamente para el evento. Esto permitió realizar diversas actividades “extra programa” luego de finalizadas las sesiones “formales” como ser juegos, espacios de meditación y guitarreadas hasta bien entrada la noche. Una de esas actividades extra formales fue la escritura de un libro (tema que compartiré en otro post).

Entre los momentos que más me impactaron están:

  • La visita al Invap, una empresa del estado dedicada a desarrollos de alta tecnología: radares, satélites, reactores nucleares, etc.
  • La charla Héctor Otheguy gerente general del Invap
  • El espíritu colaborativo que se vivió a la largo del todo el evento incluso en cuestiones casi domésticas como poniendo y levantando la mesa, preparando la comida y sirviéndola cuando estuvo lista
  • El exquisito cordero que comimos el sábado a la noche seguido de un fogón que incluyó guitarra, armónica, canciones y payadas.
  • La charla de Alan a la orilla del lago Gutiérrez con los cerros y el bosque de fondo
  • El cierre del evento con palabras emotivas de los organizadores y el entusiasmo de todos los participantes

Más allá de todas estas estas cuestiones también hubo un sesiones de open space que tuvieron muy buena repercusión como ser: el dojo de retrospectivas facilitado por Thomas Wallet, la sesión sobre trabajo remoto facilitada por Mariano Szklanny, la sesión de juegos facilitada por David Canteros, el elefante Agile de los muchachos de Invap, el taller de organizaciones de Martín Salías, la sesión de organizaciones horizontales de los muchachos de Grupo Esfera, el taller de identidad de Pablitux y Rodrigo Monelos y podría seguir un rato más.

Analizando el evento desde una perspectiva comunitaria creo que definitivamente ha marcado un hito:

  • Por un lado (hasta donde tengo registro) fue el primer evento “inmersivo”  y organizado en forma abierta por la comunidad ágil de Argentina . Me refiero al hecho de estar todos juntos, todo el día, por 3 días (en mi caso me levanté siempre alrededor de las 8 y siempre me acosté después de la 1)
  • Por otro lado fue un evento grande (3 días con fuertes implicancias de logística y unos 70 participantes) y fue auto organizado por los propios participantes con el liderazgo de un grupo de entusiastas locales que fueron los que tuvieron la idea del evento.

Mis felicitaciones para el core del grupo de organizadores: 

Les dejo aquí algunas fotos memorables:

aoc_summary_1 aoc_summary_2 aoc_summary_3 aoc_summary_4

Preparando el tutorial de BDD para XP 2015

En los últimos meses publiqué un serie de posts sobre BDD que fuí escribiendo mientras preparaba un curso en formato tutorial para dictar en la conferencia XP 2015 en Helsinki (Finlandia).

Durante semana Santa terminé de armar el curso y este viernes voy a dictarlo por primera vez para obtener feedback y así poder ajustarlo de cara a la conferencia.

Dado que la dinámica es hands-on, decidí armar una máquina virtual para simplificar el setup en las máquina de los asistentes. Esta vez la máquina virtual la preparé tomando como base una imagen de Lubuntu que es básicamente un Ubuntu con un sistema de ventanas muy liviano y con layout muy parecido al de Windows 7.

El tutorial está enfocado en las cuestiones técnicas de BDD: qué herramientas utilizar, como integrarlas en un proceso de integración continua, cómo hacer para para que los usuarios puedan agregar ejemplos y puedan ejecutarlos sin necesidad de instalarse todo el stack de desarrollo, etc, etc.

La semana próxima les cuento que tal anduvo.

Taller de Git online (experimento gratuito)

Desde hace ya un par de años vengo incursionando en la educación online pero siempre en calidad de estudiante. Si bien en las materias que dicto suelo hacer uso de varios recursos online, el dictado formal sigue siendo presencial. La idea de hacer algo online me viene picando desde hace tiempo y esta semana finalmente decidí hacer mi primer experimento.

La temática será Git, una herramienta con la que vengo trabajando desde 2009 y aunque inicialmente no me gustó, desde 2011 la adopté como mi controlador de versiones preferido. Desde ese momento he realizado diversas actividades de difusión: cursos, charlas, artículos, etc. Ahora ha llegado el momento de tomar todos los materiales generados en estos años para darle forma a un curso online.

La idea es generar un conjunto de videos cortos (de entre 5 y 10 minutos) y complementarlos con ejercicios y lecturas además de ofrecer algunas sesiones online para consultas(posiblemente via Hangout o Skype). Mi idea es que el curso pueda completarse en unos 10 días, con una carga de trabajo de 30 minutos diarios.

Mi intención es largar la primera corrida experimental el lunes 20 de Abril. Si estas interesado en participar te pido que completes este formulario para que podamos coordinar el horario de los sesiones de consulta. Este primer experimento será totalmente gratuito.

Agiles 2015: llamado a presentación de sesiones

Hace un par de días abrimos el llamado a presentación de sesiones para Agiles 2015. Me alegra mucho el hecho de que ya hemos recibo 6 propuestas y apenas pasaron 3 dias desde que comenzamos con la difusión.

Tal como había mencionado en algún artículo anterior, este año tenemos algunas novedades respecto del proceso de evaluación/selección de sesiones. En primer lugar estamos pidiendo que cada propuesta venga acompañada de un video de 3 minutos donde el autor de la sesión haga una invitación a participar de la misma. Esto tiene un doble objetivo: por un lado ver como se expresa el autor, escucharlo hablar y por otro lado tener material para difundir el evento una vez la sesión haya sido seleccionada para el evento.

Otro novedad es que hemos incluido explícitamente una instancia de feedback en la cual el grupo de evaluadores de la conferencia se compromete a dar feedback concreto a los autores para que estos puedan mejorar así su propuesta y aumentar las chances de que su sesión sea seleccionada.

En tercer lugar hemos agrupado los temas de interés en 3 grupos (temas técnicos, de gestión y extra-software) asignando a cada uno un coordinador que se encargará de responder consultas de los autores, coordinar el proceso de evaluación de las propuestas de su track y finalmente coordinar el armado de la grilla del track. Al igual que en años anteriores, también es posible que toda persona de la comunidad vea las propuestas y envíe feedback a los autores por medio del sistema

Finalmente, la última novedad tiene que ver con la aplicación que estamos usando para gestionar el envío/revisión/evaluación de sesiones. Estamos estrenando una aplicación creada a medida que comenzamos a codear en Agiles 2014 y que luego @fdibartolo se encargó de completar. Para ser sinceros, Fer la codeó casi de cero pues en Agiles 2014 apenas si llegamos a armar la estructura y definir algunas entidades. ¡Grande Fer!

Bueno gente, esto es todo por ahora, los invito a poner manos a la obra y enviar sus propuestas. Aquí está el detalle del llamado y aquí está el sistema para enviar sus propuestas (y también para ver las propuestas ya subidas).

opencall_home

Sobre mi keynote en Agile Open Camp

El Agile Open Camp tendrá un formato Open space pero con 5 keynotes predefinidos y resulta que fui invitado para dar uno de ellos. Si bien ya había dado keynotes en el pasado, incluso en eventos más grandes, siento que este caso es distinto. En primer lugar porque tengo una gran expectativa con el evento, creo que a nivel comunidad puede marcar un hito en lo que respecta a la forma de organización. Al mismo tiempo sé que en el evento estarán presentes varios de los referentes de la comunidad lo cual en cierto modo me mete un poquito más de presión.

En lo que a temática refiere me enfocaré en DevOps, algo con lo que vengo trabajando muy fuerte en los últimos 3 años y que me parece es un tema bastante “picante” en este momento.

Finalmente me siento obligado a hacer una aclaración. Desde hace ya un tiempo que vengo “pateando en contra” de tener keynote speakers en los eventos que organizamos en la comunidad Agiles ¿Y ahora voy a ser keynote speaker? Si. La explicación de mi posición respecto de esta cuestión merece un post aparte, con lo cual por el momento me voy a limitar a decir simplemente que a pesar de ser keynote speaker no espero recibir ningún trato especial, que es justamente lo que siempre me ha molestado de los keynote speakers. Espero ser un chango más en la multitud, compartiendo los mismos espacios y actividades que el resto de los asistentes. La única diferencia será que en determinado momento tendré el honor de hablar frente a todos ellos en una sesión predefinida (en el sentido que no pasará por el marketplace del open space.)

Expectativas para el nuevo cuatrimestre en FIUBA

Esta semana comenzó el cuatrimestre en FIUBA. En el curso 3 (miércoles) tenemos poco más de 40 alumnos 2 de los cuales son de intercambio (uno de Colombia y otro de Francia). Respecto del equipo docente, quedó conformado por DiegoM, PabloRM y yo, lo cual no dá prácticamente unos 15 alumnos por docente, un número no tan malo tratándose de UBA, sobre todo si tenemos en cuenta que según la política de la facultad la relación debería ser de 1 docente cada 20 alumnos.

Como de costumbre, la gran mayoría de los alumnos (~85%) son de la carrera de ingeniería informática.

En términos generales no tenemos planificadas grandes innovaciones para este cuatrimestre, pero en particular en el curso de los miércoles intentaremos realizar más actividades de programación en clase, ya que según pudimos relevar en la primera clase, muchos alumnos podrían asistir a clase con sus computadoras personales.

fiuba_2015

 

Planificando Febrero en Colombia

La segunda quincena de febrero estaré viajando a Colombia por cuestiones personales y se ocurrió que podria ser una buena oportunidad para hacer algunas actividades con mis colegas de Kleer Colombia. Por eso le escribí a amigo @luismulato contando la idea y ya estamos poniendo manos a la obra.

En principio estamos planificando dictar dos talleres abiertos en Bogotá:

  • Automatización de pruebas, el mismo es una variante del que hice hace un tiempo en Uruguay.
  • Devops y automatización de infraestructura, este es un taller que aún no he dictado nunca (en este formato), pero que a pesar de ello ya tengo casi todo el material listo, pues está basado en algunas de las actividades que he realizado en el contexto de otros talleres y capacitaciones que dicté en forma privada en empresas y en mi materia en UNQ.

Más allá de estos talleres, estoy abierto a realizar otras actividades (tanto de capacitación como de consultoría y también académicas) con lo cual, si hay algún interesado, no dude en contactarme.

Automatización de pruebas y entrega continua en Uruguay

En 25 de noviembre voy a dictar un taller sobre estas temáticas en Uruguay con la colaboración de @pablolis. La idea de hacer un taller que una estas dos temáticas surgió a partir de reiteradas consultas que he recibido y de encontrarme hablando de una de ellas a partir de una consulta que originalmente tenía que ver con la otra.

Ante todo me parece importante dejar bien en claro la relación entre estas dos cuestiones:

  • La automatización de pruebas puede hacerse independientemente de que se trabaje en un contexto de entrega continua. Más aún, ni siquiera es necesario que se trabaje con un proceso de desarrollo en particular. No importa si se trabaja con métodos ágiles, proceso unificado o algún proceso ad-hoc, siempre puede ser valioso automatizar las pruebas.
  • Trabajar en modo entrega continua requiere indefectiblemente contar con pruebas automatizadas, pues de lo contrario, habría que invertir mucho tiempo en pruebas manuales o bien ir a producción con un producto inestable o de calidad desconocida, lo cual podria traducirse en problemas continuos más que en entrega continua.

Con esta aclaración conceptual creo que queda clara la motivación para juntar ambas cuestiones en un mismo taller.

Hablando ahora de la estructura del taller, la idea es comenzar entiendo la práctica de entrega continua, sus beneficios, fundamentos y un conjunto de patrones para su implementación. Todo esto de la mano de un conjunto de herramientas para su implementación. En este sentido compartiremos con los participantes una máquina virtual con una aplicación de ejemplo y con un set de herramientas ya instalado, listo para que puedan poner manos a la obra a medida que vamos viendo las herramientas.

En varios puntos del flujo de entrega continua nos encontraremos con pruebas automatizadas. En cada uno de esos puntos nos detendremos a analizar el tipo de prueba y las distintas alternativas de herramientas para su automatización. Por más que las pruebas y herramientas las veamos en un contexto de entrega continua, como mencioné anteriormente, las mismas también pueden resultar útiles en cualquier otro contexto.

Entre las herramientas que veremos estan: Puppet, Chef, Docker, Jenkins, Go, Travis, Cucumber, Selenium, Fitnesse y JMeter.

Los interesados pueden consultar más detalles e información para inscripción en la página de Evolución Ágil.

#ConstrucciónDeSoftware, entrevista en DevAcademy

Mañana (miércoles 5 de Octubre), a las 22 hs. (Argentina) estaré participando del ciclo DevHangouts organizado por la gente de DevAcademy.

La excusa es hablar un poco del libro: las motivaciones que nos llevaron a escribirlo, el proceso de escritura y obviamente el contenido. Al final del hangout sortearemos un libro.

Los interesados pueden sumarte al hangout via este link: http://devacademy.la/devhangout

#ConstrucciónDeSoftware, disponible en Amazon

La semana pasada cumplimos un nuevo hito con el libro, llegamos a Amazon. El libro puede encontrarse fácilmente buscando por “construccion de software” o directamente siguiendo este link.

Cabe aclarar que por el momento sólo es posible comprar la versión física del libro, la versión digital para Kindle aún no está disponible, estamos trabajando para ella pero va a llevar un tiempo más.

libroenamazon