Agile por Kilo

El año pasado me contactó un directivo de una empresa multinacional que estaba interesado en empezar a trabajar con métodos ágiles. Me reuní con él para entender su necesidad. Una vez comenzada la reunión le pregunté sobre la motivación que lo llevaba a los métodos ágiles, o sea, yo quería entender qué problema se esperaba resolver o que situación se esperaba mejorar a partir del uso de métodos ágiles. La respuesta fue muy concreta: a nivel global la organización había decidido adoptar una «forma de trabajo ágil combinada con DevOps» y por ello este directivo quería contratar a la brevedad 5 coaches/scrum masters para generar un «shock de agilidad» que se tradujera en una mejora notable de productividad. De esta forma esperaba contagiar al resto de los equipos de la subsidiaria local para que se subieran «al tren ágil». Esta estrategia distaba mucho de lo que yo hubiera hecho y en un punto hasta podría considerársela «anti-ágil». En enfoque ágil implicaría crecimiento orgánico y sustentable lo cual es muy distinto a «un shock». En vano intenté convencerlo de utilizar un enfoque distinto y la cuestión no pasó de esa reunión.

Estos son los tiempos que vivimos. Del mismo modo que hay organizaciones que desde hace años pretenden «comprar programador por kilo» hoy en día, con agile siendo mainstream, hay organizaciones que pretenden «comprar agile coaches por kilo».

Pero en cierto modo creo que lo más triste no es la intención de los que quieren comprar, sino que hay organizaciones dispuestas a satisfacer esos pedidos :-(.

Ya lo decía mi abuela: la culpa no es del chancho sino de quien le da de comer 😦

XP2018, day 2 summary: I ‘m Kent, I ‘m back

First of all, let me explain how the conference was organized: the conference was divided into 3 parts, Monday tutorials + Main conference (Tuesday+Wednesday+Thursday) + Friday tutorials. Participants could choose to attend to each of these parts independently. What usually happens is that most of the people attend to the main conference.

On Tuesday the journey started with the keynote speaker Laurie Williams, a well-prepared talk about Security and DevOps. After the keynote we have the coffee break and next the Open Space.

The Open Space Marketplace was facilitated by Charlie Poole (NUnit core team), it was in the park of the faculty, we were all standing in a circle with Charlie in the center using the microphone. I was in the queue to propose a session, when a big guy with a black cap took the microphone and said: «Hi, I ‘m Kent, I ‘m back…«, it took me a while to realize that the guy was Kent Beck.

During the afternoon I attended to the panel:»Agile Development in a Mission Critical World» and the sessions «Ship it or It Never happed: the power of Docker, Heroku and CircleCI» and «DevOps as an Enabler for More Efficient Testing in Large-Scale Agile Projects«.

In the last slot of the journey it was our turn, me and Diego presented our research work: «Technical and Organizational Agile Practices: A Latin-American Survey«. Here are the slides of our presentation.

Once all the sessions were over, we attended to the social activity of the day: the visit to a cellar. We had a brief explanation about Oporto Wine and after that we had an awesome reception with a beautiful view of the city.


Estudio sobre la comunidad ágil de latam: paper aceptado y publicado

Tiempo atrás comenté que habíamos enviado el paper resultante de nuestro trabajo investigación a la International Conference on Agile Software Development (informalmente llamada XP Conf). Dicho trabajo fue aceptado y estaremos presentándolo la semana próxima en Porto, lugar donde se lleva a cabo la conferencia.

Comparto aquí de modo muy resumido los hallazgos más relevantes del trabajo:

  • Las prácticas organizacionales son mucho más usadas que las prácticas técnicas.
  • La cantidad de prácticas utilizadas aumenta con la mayor experiencia de la organización en el uso de métodos ágiles.
  • La diferencia entre la cantidad de prácticas técnicas y la cantidad de prácticas organizacionales disminuye a medida que aumenta la experiencia de la organización en el uso de métodos ágiles.
  • Las variables tamaño de equipo y duración del proyecto no tienen impacto en la cantidad de prácticas utilizadas.

Si bien puede que estas conclusiones parezcan evidentes, la realidad es que no había prueba científica de esto y eso es precisamente lo que generamos con este trabajo.

El trabajo está disponible en forma abierta en el sitio de Springer.

Quiero agradecer a todos aquellos que colaboraron con este estudio completando la encuesta y en particular a Juan Gabardini, Soledad Pinter, Emilio Gutter, Federico Zuppa, Thomas Wallet, Natalia Baeza y tantos otros que nos ayudaron en la difusión de la encuesta y en la validación de algunas ideas.

HOY: Patrones de Infraestructura para Continuous Delivery

Esta tarde a partir de las 18.50 estaré en la oficinas de RyanAir Madrid, exponiendo sobre esta temática.

De paso, voy a aprovechar el contacto con la comunidad ágil de Madrid para hacer difusión de algunos libros «Made in Argentina». Voy a estar sorteando entre los participantes algunos ejemplares de «Construcción de Software, una mirada ágil» y «Experiencias ágiles, relatos de experiencias del uso de métodos ágiles en Argentina».

Si están por Madrid y quieren sumarse, la entrada es gratis pero es necesario registrarse aquí.

Self-Service Infrastructure Session accepted @ Agile2018

My session «Principles of Self-Service Infrastructure» was accepted at Agile 2018 ;-).

Here is the abstract of the session:

The management of development and test environments is a major concern when trying to optimize the value stream of any software development project. In this context, implementing Self-Service Infrastructure may help your organization to simplify the management of these environments. In this session we will review the foundations and benefits of Self- Service Infrastructure. We will also review the most common challenges and how to overcome them using some patterns. Finally we will see a set of tools to implement this practice and a couple of demos that will provide a better understanding of principles behind the tools.

Given that this is a brand new session I am planning to deliver it in a local meetup before Agile2018, so I can get some feedback.

 

Libros sobre estimación y planificación Ágil

Durante mucho tiempo mi libro de referencia sobre esta temática fue el clásico Agile Estimating and Planning de Mike Cohn. Pero hace un par de años lei otro libro que me pareció mucho mejor: Planning Extreme Programming, de Kent Beck y Martin Fowler. Este libro fue publicado en 2001, 5 años antes del libro de Cohn y si bien tiene mucho puntos en común con este, tiene también un conjunto de cuestiones muy prácticas que no están presentes en el libro de Cohn. Entre las cuestiones que me gustan de este libro es que sugiere como proceder cuando las cosas no funcionan «felizmente». Por otro lado creo que es un libro para leer de punta a punta, ya que -al igual que todos los libros de la serie XP- tiene capítulos cortos que hacen muy amena su lectura.

Resulta que ayer estaba preparando una clase para FIUBA y tomé algunas cosas de este excelente libro de Beck y Fowler y me pareció que sería interesante compartir esta opinión pues tengo la sospecha que no es muy popular.

Presenting at XP2018

This year the Extreme Programming Conference will be held the week of May 21 to 25th in Porto (Portugal) and I will be there.

The conference program looks great, with Kent Beck and Laurie Williams as keynote speakers and several social activities.

I will be presenting 2 sessions: a reduced version of my workshop on DevOps Practices and the paper about Technical and Organizational Agile Practices that is the result of the our research work at UNTREF.

In future posts I will share more details of my session.

Encuentro con el Board de Agile Alliance

El jueves pasado en el contexto del Meetup de Agiles@Argentina se realizó un desayuno con el Board de la Agile Alliance. La Agile Alliance (AA) es una organización sin fines de lucro que busca dar apoyo a las personas que pretenden «aplicar agilidad». En este sentido la AA realiza distintos tipos de actividades entre las que se destacan algunas conferencias muy importantes como AgileXXXX en USA y XP en Europa.

El evento abrió con una breve introducción de Emilio Gutter, un miembro de la comunidad local que colaboró con la AA en la organización de este encuentro. Luego cada miembro del Board se presentó y propuso un temática debate. A continuación los miembros del board se distribuyeron en las distintas mesas y largo la discusión.

Yo estuve en la mesa facilitada por Declan Whelan en la que hablamos sobre cuestiones técnicas. Entre los temas tratados destacaron: camino de adopción de prácticas técnicas, manejo de la deuda técnica y los riesgos de la agilidad sin prácticas técnicas. A la pasada tomé nota de algunos recursos para investigar:

  • Exercism.io, un sitio con ejercicios de programación que propone una dinámica de feedback comunitario
  • Agile Practice Guide, una publicación conjunta de la Agile Alliance y el PMI sobre como utilizar Agile
  • Theagilerevolution, un sitio de podcasts

En encuentro duró unas 4 horas y para mi estuvo muy bien.

Para cerrar: en la convocatoria había cupo para unas 100 personas y en la previa se agotaron todos los cupos. Sin embargo la cantidad de asistentes no superó las 80 personas. El eterno problema de las actividades gratuitas y la falta de compromiso. ¿Será un fenómeno Argentino o también pasará en otros países?

(re) Pensando el AOC

Reciente el «triunvirato» organizador del AOC Chile publicó un video abriendo la convocatoria de ideas para la edición 2018. En ese sentido aquí va mi opinión.

Considerando que la dinámica de evento implica tener un conjunto de personas conviviendo full-time por un par de días en un escenario «semi-aislado» de la sociedad, creo que es oportunidad excelente para generar algo de valor. Más aún, apostaría a generar algo de valor para la comunidad, no solo para los participantes del evento. En cierto modo, el primer libro del AOC puede verse como un ejemplo de esto. Otro ejemplo son los videos que generó Rob en el AOC Chile 2017.

Ahora bien, pare llevar a cabo iniciativas de valor es necesario un plan y un equipo. Si bien es posible generar tanto los equipos como el plan al inicio de la conferencia, creo que sería mejor que sean definidos de antemano de forma de aprovechar mejor el tiempo de la conferencia y al mismo tiempo para asegurar que se cuente con todo lo necesario para trabajar.

Bajando a tierra mi borrador de propuesta es:

  • Modificar el mecanismo de inscripción/postulación de manera que la misma pueda ser grupal.
  • Al mismo tiempo cada grupo postulante debe hace un propuesta para generar valor.
  • Finalmente el grupo debe estar abierto para incluir más gente.

Pongo un ejemplo:

  • Maria es diseñadora gráfica y trabaja en cuestiones de UX en una empresa de desarrollo y se postula en forma individual para el AOC, tal cual se hizo el año pasado.
  • Diego, Martin y Nicolás son developers que en un evento comunitario conocieron a Mateo que trabaja en una ONG. Entonces deciden postularse como grupo en el AOC con la propuesta de valor de hacer una aplicación para la ONG en la que trabaja Mateo.
  • Resulta que el grupo de Diego, Martín, Nicolás y Mateo es seleccionado y de esa forma todos los integrantes del grupo ganan su vacante para participar del AOC.
  • Siguiendo con el mecanismo San Saru, el grupo elige de entre los postulantes individuales a una persona para invitarla a colaborar en su propuesta de valor. En ese sentido eligen a Maria. Un punto importante aquí: si María acepta la invitación, entonces implica que se compromete a que durante el AOC trabajará en la propuesta de valor del grupo que la seleccionó.

¿Muy loco?

 

Conferencia sin Sponsors, podemos pero ¿queremos?

En términos generales la mayoría de las conferencia de índole comunitaria se financian a partir de dos fuentes principales: el pago de las entradas por parte de los asistentes y los aportes de los sponsors.

En algunos casos el monto recaudado por el lado de las entradas representa un aporte muy inferior al recaudado por el lado de los sponsors.  De hecho me consta de varias conferencias que no habrían podido realizarse sin el aporte de los sponsors.

Sin embargo esta probado que es posible hacer conferencias sin sponsors, dos ejemplos bastante distintos son: Agiles Argentina y Agiles Latam 2017. Paso a analizar.

Agiles Argentina es una conferencia relativamente chica, no tengo números oficiales, pero en base a las veces que asistí, creo que en el mejor de los casos ha reunido unas 80 personas. Desde hace un par de años la conferencia se hace en un lugar cedido gratuitamente por alguna institución (típicamente universidades) y el catering es auto-organizado. Si bien en algunas ocasiones ha habido sponsors, su aporte no ha sido ni remotamente condicionante del evento, en general el aporte de los sponsors se ha utilizado para habilitar que viaje gente desde otras ciudades. A cambio de su aporte estos sponsors han tenido su logo en sitio de la conferencia y a lo sumo algún póster en el lugar de la conferencia y los flyers de difusión.

Otro ejemplo bastante distinto en términos de escala es la reciente conferencia latinoamericana Agiles 2017. En este caso hablamos de un evento de 800+ personas de diversos países, donde no hubo catering auto-organizado pero donde los asistentes pagaron una entrada de  u$d ~100. Esta conferencia también se realizó en las instalación cedidas gratuitamente de una institución y  no hubo ningún tipo de sponsors.

Dicho esto, queda claro que es posible hacer conferencias sin sponsors y me alegra mucho, pero me queda la duda: ¿realmente queremos conferencias sin sponsors?

Menciono algunos puntos que podrían llegar a considerarse positivos de tener sponsors:

  • Los sponsors hacen algún tipo de aporte a la conferencia, ya sea directamente dinero o en en «especias» (por ejemplo pagar el coffee break, ayudar en los gastos de asistentes extranjeros o proveer un espacio físico para la conferencia)
  • Ciertos sponsors pueden dar «jerarquía» a la conferencia. Por ejemplo: ciertas organizaciones (potenciales sponsors) tienen cierta fama positiva y eso puede «contagiarse» a la conferencia. Al mismo tiempo cuando alguien tiene que pedir un día de trabajo para ir a la conferencia,  un jefe que no conoce puede verse influenciado al ver los sponsors de la conferencia (obviamente esa influencia puede ser negativa o positiva, y por eso hay que elijir muy bien a los sponsors).
  • En línea a lo anterior, hay ciertas organizaciones que no tienen fines de lucro como ONGs que al ser sponsor, más allá del aporte económico también pueden colaborar en cuestiones de difusión.

Pensando en el caso concreto de Agiles Latam y en el último punto de la lista, me parece que sería valioso contar en futuras ediciones poder contar mínimamente con el apoyo de organizaciones como Agile Alliance e IEEE.

Ya para cerrar: me parece fundamental no necesitar sponsors para llevar adelante la conferencia, pues ello da mucha libertad y al mismo tiempo una «posición de poder» en caso que uno quiera negociar con sponsors. Con esta premisa, yo voto por tener sponsors delicadamente seleccionados.