Reflexiones sobre XP 2015

Como ya mencioné (y también resumí) estuve participando de la conferencia internacional de Extreme Programming: XP 2015. Esta conferencia tiene algunas particularidades que la distinguen bastante del resto de las conferencias sobre métodos ágiles.

En primer lugar es la conferencia de Agile con mayor historia, este año fue la edición 16. Vaya curiosidad: la primer edición de la conferencia fue incluso antes de la publicación del manifiesto ágil.

En segundo lugar es una conferencia con un fuerte involucramiento académico. En la organización de cada edición hay siempre una universidad anfitriona. Al mismo tiempo la conferencia ofrece tanto sesiones «industriales» (presentaciones informales) y sesiones académicas (presentaciones formales de papers de investigación).

Durante mi participación en esta última edición tuve la oportunidad de hablar con algunos de los organizadores y conocer algunas cuestiones interesantes sobre la organización. Existe un steering committee que se encarga de asegurar la realización de la conferencia año tras año. Dicho steering committee está conformado principalmente por los chairs de las ediciones anteriores de la conferencia.

Hablando de esta edición particular (que es la primera en que participo) hay algunos puntos que quiero destacar:

  • La organización fue impecable. El centro de conferencias ofrecia unas instalaciones muy apropiadas para la dinámica del evento.
  • Días antes de la conferencia recibí un mail con información muy útil para los extranjeros: medios de transporte para llegar al centro de conferencias, pronóstico del tiempo para los días del evento, información de contacto, y recomendaciones de vestimenta, entre otros.
  • Adicionalmente como orador recibí otro mail con recomendaciones para preparar mi sesión.
  • Cada sesión tenía un chair asignado a quien los oradores debíamos contactar previamente a nuestra sesión. El chair obviamente estaba presente durante todas sus sesiones para presentar a los distintos oradores, moderar las preguntas de los asistentes y asistir al orador en lo que este pudiera necesitar.
  • La conferencia contaba con una app (android) oficial del evento que permitía acceder al programa de la conferencia, agendar sesiones, compartir mensajes entre los asistentes de la conferencia y también el envió de notificaciones de parte de la organización del evento.
  • Una vez finalizada la conferencia se envió una encuesta sobre el evento para completar online. La misma pedía feedback sobre la conferencia y recomendaciones para futuras ediciones. (más allá de esto en el cierre de la conferencia se hizo una retrospectiva con todos los presentes)

Si bien puede que algunas de estas cuestiones ya las haya visto en otras conferencias, la realidad es que esta vez (posiblemente por estar en un país totalmente desconocido y tan distante) me llamaron mucho más la atención.

xp2015_badge

XP2015: Day 5 Summary

This was the last day of the conference and it was dedicated to workshops (academic and industrial**). I started the day in the Refactoring (academic) workshop and after coffee break I switch to the Retrospectives (industrial) Workshop by Paulo Caroli which was one of the best sessions I attended in the whole conference. Paulo shared many techniques to plan/guide retrospectives, many of them are documented in his book Fun Retrospectives.

After the lunch it was the time to delivery my BDD Tutorial, a technical hands-on session where we reviewed the BDD technique and several implementation details with tools like Cucumber-JVM, Fitnesse and JBehave. Everything went as expected, no major issues with the technical stuff, all participant were able to run the Virtual machine I created for the tutorial. I am very happy with the results and I think I will plan to run it again in South America before the end of the year.

DSC04944

 

** academic workshop are basically presentation and discussions about formal research papers while industrial workshops are totally different, they are interactive sessions where the audience listen and do.

Agiles 2015: Diseño del proceso de selección de propuestas

Este año al igual que los años anteriores la conferencia contará con un conjunto de sesiones que surgirán de una convocatoria abierta (dicha convocatoria ya está en curso). Dado que tenemos una cantidad limitada de tiempo y espacio para sesiones, tenemos que seleccionar cierta cantidad de sesiones de entre todas las propuestas recibidas. Estimamos que tendremos espacio para entre 30 y 40 sesiones. Para elegir esas sesiones hemos definido un proceso de 3 etapas: revisión, evaluación y selección.

Etapa 1: revisión

En esta primera etapa un equipo de revisores surgidos de la comunidad, revisa las sesiones de forma objetiva, dando feedback sobre cuestiones concretas como ser:

  • La propuesta tiene faltas ortográficas
  • La propuesta está incompleta
  • La descripción es muy escueta y no queda claro el objetivo de la sesión
  • La propuesta no es consistente (se propone un workshop para 10 personas pero se plantea que los participante trabajen en 3 grupos de 5 personas )
  • La propuesta tiene errores conceptuales (técnicas para que el Scrum Master asigne a cada miembro del equipo las tareas en las que debe trabajar)

Con este feedback, cada autor debería poder mejorar su propuesta antes del cierre de la convocatoria.

Etapa 2: evaluación

Una vez cerrada la convocatoria, el equipo de revisores realiza una evaluación de las propuestas de cara a generar un ranking de propuestas. Cada propuesta es evaluada por varios pares de revisores pues en esta etapa todos los revisores trabajan de a pares.

Etapa 3: Selección

Una vez completada la evaluación hay que tomar las sesiones y ubicarlas en el programa de la conferencia. Esta no es un tarea trivial pues hay algunas restricciones adicionales como ser la diversidad: queremos tener sesiones sobre diversos temas y de oradores de diversos paises. Naturalmente estas restricciones adicionales implican que algunas sesiones queden fuera del programa a pesar de tener una muy buena evaluación (si las mejores 15 propuestas son sobre Scrum, es muy posible que varias de ellas queden fuera del programa para respetar la diversidad).Al final de esta etapa se cuenta con el programa completo de sesiones y cada autor sabe si su sesión ha sido o no aceptada.

XP2015: Day 4 Summary

As usual we started with the keynote, in this occasion by Brian Fitzgerald (Irish Software Engineering Research Centre). He talked about New directions for Software Development Process. He started with a summary of the evolution of software development process and after that he focused on the impact of Open Source movement and Crowd funding initiatives.

After the keynote I attended to the Lightning talks session where I found some interesting presentations performed by Brazilian folks (Paulo Caroli and Rafaela Fontana).

In the afternoon I attended to the testing track where I saw the most interesting sessions of the day: Llewellyn Falco talking about Getting Existing Code under Tests and Charlie Poole’ demo: From Test to Theories and back  again. Excellent speakers and very useful information.

The last session I attended was Pragmatic Architecture for Agile Teams by Janne Sinivirta, it was fine, nothing new for me but it was a useful summary of key points.

Finally at 5 PM it was the main conference closing (even when the next day there were some more workshops). As usual the closing included a retrospective activity, thanks to everyone and the announcement of the next year conference which will be held in Edinburgh.

xp_day_4

 

XP2015: Day 3 Summary

The journey started with the keynote by Harri Oikarinen from Ericsson. His talk focused on the leadership model and learning lifestyle strategy that Ericsson is using to face what he described as the Network Society. It was very interesting and the slides were really cool!

After the keynote we had pitches of the sessions on the day.

During the whole day there were open space sessions in parallel with the predefined sessions.

I spent the rest of the morning in the lightning talks session where I found some interesting stuff and I also shared the Test-Driven approach we are using at FIUBA.

After the lunch I joined the session Create the Conditions for Team Learning and Coordination: Five Simple Rules hosted by Diana Larsen. Very very useful (I will share some notes about this in another post).

Finally I joined an open session session proposed by Alex Wilson which was about Modern XP. In this session we went over the original XP practices and analyzed the evolution of each of them. Very interesting and possible one of the best sessions of the day.

Late in the evening we had the conference social dinner at the Helsinki Stock Exchange Building, a really nice place. The dinner was great: excellent food and some fun entertainment including PowerPoint-Karaoke (organized by Diana Larsen), a singer, a pianist and magician. I was in a table with some guys some India and Italy and another guy born in Tunisia but currently living now in Sweden.

xp_day3_1 xp_day3_2

Preparation for BDD Tutorial

Next Friday I will be hosting a BDD Tutorial (fr2.1) in the context of XP Conference. For those planning to attend to this workshop consider that it is a hands-on session, so bring your machines. I have a preconfigured vm image with all the required tools in it, so please ensure to have Virtual Box installed in your machine.

If you prefer to not use the VM, then you should ensure to install:

  • Java 7 JDK
  • Maven
  • Git

Finally, please complete this form, so I can have a idea of how many people will attend to the workshop. This will allow me to adjust the activities of the workshop.

XP2015: Day 2 Summary

First of all I need to do a brief explanation of the conference layout. The main part of the conference takes place during Tuesday, Wednesday and Thursday. In addition to that, there are additional workshops on Monday and Friday.

So on Tuesday was the conference opening. As expected it started with the welcome by Maria Paasivaara (general chair). After that, Janne Järvinen offer a brief presentation of the Need for Speed program. A program in Finland that aims to join students and industry. Next there was the keynote by Linda Rising who talked about Continuous Retrospective. The keynote was fine, I wrote down some resources to check.

At the end of the keynote, every speaker of that day had 30 seconds to present his session and perform an invitation, good idea.

The next session I attended was Why we need architects by Rebecca Wirfs-Brock. It was interesting but nothing new for me, so in the middle I switched to the session by Nitor guys who perform a technical demo of their tool Willow which provides support for elastic cloud deployments. I really liked it.

In the afternoon I  attended to a Continuous Delivery session by Omenia guys, nice session. After that it was my first session: Continuous Delivery at Enterprise level with Jenkins and Octopush (the tool I developed with OLX guys). Everything went fine, the demo was successful but just in case I had prepared a short demonstration video. The slides are available here.

The next session I attended was a panel about Continuous Delivery. I stayed there just 15 minutes and I left the room because to my surprise the debate was very poor. I moved to another session about contracts by Antti Kirjavainen which was much better.

Finally we got to the best part of the day: the open space, yeah!!!! We had a marketplace to collect sessions for the three days. The facilitator was Charlie Poole and I liked his performance. After the marketplace we had like a cocktail and next to it the open space sessions started. We had 3 hours from 19.00 to 22.00 with up to 7 parallel sessions. For me the best session was the one I proposed: Programming practices. The goal was simple: share ideas/practices/tips among programmers. Four person joined the session: Daniel (a coach from Germany), Sebastian (a developer/trainer from Sweden), Wouter (a consultant from Holland) and Oller (a tech lead from Sweden). For me it was a great session, I really enjoyed it.

xp_day2_2
Session about contracts
xp_day2_3
Keynote by Linda Rising
City view from the conference center

XP2015: Day 1 Summary

The first session I attended was a workshop by Wouter Lagerwaij: Continuous Delivery with Docker and Jenkins Job Builder.  It was really really interesting, the speaker was an expert on the topic and the workshop’s materials were very properly prepared. I took several useful notes to review. When the workshop finished (on time, of course) we had lunch.

The lunch was self-service and included salad, fish, potatoes, cheese and bread. After lunch there was also coffee and tea available.

In the afternoon I had to choose between Fearless Change workshop by Linda Rising and DevOps and Continuous Value Delivery with Lego and Chocolate workshop by Dana Pylayeva. What do you think I choose? Yes, of course, the second one because is more related to the concerns I usually work. The workshop was fine, after brief conceptual introduction we worked in groups in an activity similar to El Pajarraco but with with a different focus: business value and team collaboration. I liked the activity and also the way Dana presented the DevOps theory.

The last activity of the day was a reception at the City Hall where we shared some drinks and soft food. It was a nice networking activity were I met people from several countries including: Holland, Slovenia, USA, Spain, Sweden, Brazil and Finland of course.

xp_day1 xp_day1b

 

De Colombia a Finlandia

El anterior post (hace unos 10 días) lo escribí estando en Girardot, una ciudad de Colombia que todo el año tiene una temperatura alrededor de los 30 grados. Mientras escribo este post, estoy en Helsinki, la capital de Finlandia, donde ahora (primavera) se promedian 12 grados de temperatura, pero que en una noche de invierno pueden llegar a 30 bajo cero. Entre uno y otro extremo pasé brevemente por casa para disfrutar del extraño otoño caluroso que azota Buenos Aires por estos días.

Pero no vine a Finlandia para compensar el calor de Girardot sino para participar de la conferencia XP2015. Llegué ayer luego de ~17 horas de vuelo con una escala de ~9 horas en Alemania. Después de semejante viaje, mis expectativas para la conferencia se han incrementado un poco más 😉

Mirando el programa parece que habrá de todo: keynotes, muchas sesiones surgidas del call for papers, open space (en paralelo con las sesiones), clínica coaches (en  los coffee breaks), presentación de trabajos formales de investigación y actividades sociales (al anochecer).

Continuará…

Notas de mis actividades en Colombia

Por estos días me encuentro en Girardot, una bonita ciudad ubicada a unas 2 horas al sur de Bogotá. Estoy participando de diversas actividades enmarcadas en el Foro de Ingeniería en Sistemas organizado por la Universidad Piloto al cual fue invitado por gentileza de ingeniero Elkin Forero.

La primer actividad que facilité fue una sesión de Programación Orientada a Objetos en la cual hice un breve repaso de los hitos que han marcado la evolución del paradigma y sus implementaciones. (diapositivas aquí)

Otra sesión, ya un poco más avanzada fue un taller de TDD, del que participaron alumnos de la carrera de sistemas. Trabajamos con Java, JUnit y Eclipse. Me gustó mucho como salió la sesión. El código del ejemplo inicial está disponible aquí.

Aprovechando mi visita a la región, el ingeniero Wilson Gordillo me invitó a realizar una ponencia en la Universidad de Cundinamarca. Asistieron a dicha actividad unos 180 alumnos y docentes de distintas instituciones. En este caso hablé sobre la definición de «proyecto exitoso» y la visión de los métodos ágiles al respecto (diapositivas aquí). Luego de la disertación hicimos la dinámica de la fábrica de aviones de la que participaron unas 80 personas y que nos permitió reflexionar sobre cuestiones como spikes, estimación y definition of done.

Aún me quedan por realizar algunas actividades más antes de mi regreso a casa, entre ellas la continuación del taller de TDD que comienza en breves minutos.

Continuará…