Charla: Testabilidad y Arquitectura de Prueba

Este jueves 17 de octubre voy estar dando esta charla en el contexto de la conferencia Nerdearla. La cita es este jueves a las 15.10 el Centro Cultural Konex en la ciudad de Buenos Aires.

Nerdearla es una conferencia gratuita que ya tiene varias ediciones. Yo he asistido en años anteriores cuando se realizó en el Centro Cultural San Martín, pero esta vez será mi debut como orador. Más allá de mi participación hay un conjunto de muy nutrido de charlas que incluye temas como Kubernetes, IoT, SRE y seguridad entre otros. ¡No se lo pierdan!

Taller de TDD en UDAV

Ayer estuve haciendo mi Taller de Test-Driven Development en la Universidad Nacional de Avellaneda. Del taller participaron unos 15 alumnos de la carrera de Ingeniería Informática. Personalmente me gustó como salió y me sentí muy cómodo.

Agradezco a @jplagostena y @TefiMiguel por la haber habilitado esta oportunidad y por coordinación, impecable.

Comparto aquí algunas fotos y los materiales:

AgilesLatam: ¿hacia dónde vamos?

Desde aquel Agiles 2008 en Buenos Aires hasta el último Agiles 2019 en Rosario muchas cosas han cambiado.

Pasamos de una convocatoria de no más de 400 personas a una convocatoria de alrededor de 1000 personas. Un cambio razonable considerando el aumento en popularidad de Agile.

Pasamos de un conferencia en formato tradicional con chalas surgidas de una convocatoria y keynotes a un formato 100% Open Space sin Keynotes. La idea de hacer todo Open space me pareció razonable en un momento, pero ya no me convence. Lo de eliminar los Keynotes no me gustó y sigue sin gustarme.

Pasamos de un evento pensado muy internacionalmente (con sitio en castellano, portugués e ingles y traducción en simultáneo para algunas sesiones) a un evento muy enfocado en latam y exclusivamente en castellan. Personalmente me hace ruido que AgilesLatam no haga el esfuerzo de integrar Brasil que es posiblemente el país más importante de la región (aunque según informa la organización hubo unas 3 personas de Brazil participando en la conferencia)..

Pasamos de un evento organizado y enfocado en Desarrollo de Software Agile a un evento de Agilidad. Dicho de otro modo y sin forma de comprobarlo: en las primera ediciones la audiencia era completamente del mundo del software mientras que las ediciones más recientes también participa gente de otras industrias y cada vez hay más sesiones no relacionadas al software.

En 12 ediciones de la conferencia el grupo de organizadores se renovó por completo, lo cual me parece sano.

En fin, más allá de la evolución, el rumbo futuro del ágiles es algo que inquieta a la comunidad y por ello en el contexto del último AgilesLatam hubo una sesión al respecto en la que participaron personas de diversos países de la región.

Durante la sesión se expresaron distintas opiniones y se acordó que es necesario repensar el futuro de la conferencia en diversos aspectos incluyendo propósito, formato y relación con la Agile Alliance entre otros. Finalmente se delegó esa responsabilidad al “consejo de sabios” conformado por una persona miembro del equipo de organización de los últimos 5 AgilesLatam.

Al margen de esto comparto lo que me gustaría a mi en base algunas cosas que vi en otras conferencias Agile, XP y AgileBrazil:

  • Me gustaría que el evento tuviera un formato mixto, parte Open Space y parte conferencia tradicional con sesiones surgidas de una selección y keynotes. Esto es tal como solía ser años atrás pero con un proceso de selección de sesiones más liviano y con un criterio distinto de selección de keynotes
  • Me gustaría que la conferencia tome más relevancia mundial y que integre a Brazil, de forma que resulte más atractiva para gente de otras regiones y podamos tener intercambios más diversos
  • Me gustaría que la conferencia tuviera un espacio importante para cuestiones de desarrollo/ingeniería de software (aunque soy consciente que esto depende en gran parte de los participantes creo que organización y la comunidad debe hacer su parte)
  • Me gustaría que desde la organización se acompañe la conferencia con una oferta de cursos pre/post evento
  • Me gustaría que la conferencia tenga algún tipo de articulación con el mundo académico
Foto del grupo de responsables para trabajar en la definición del futuro del AgilesLatam involucrando a quienes ellos consideren apropiado: Loreto (Chile), Rox (México), Andrés (Argentina) y Martín (uruguay)

Algunos datos de Agiles 2019

La semana pasada estuve participando de la conferencia Latinoamericana de Agilidad, previamente llamada Conferencia Latinoamericana de Métodos Ágiles. Desconozco cuándo ocurrió el rename, pero ocurrió.

En términos generales debo decir que estuvo muy bien. Superó mis expectativas, aunque sinceramente no esperaba demasiado considerando que a mi parecer en los últimos años la conferencia se viene “alejando” de la construcción de software para enfocarse en cuestiones más genéricas de gestión y colaboración.

Algunos puntos que me parece vale la pena destacar:

  • El lugar de la conferencia me pareció muy apropiado: un espacio enorme con más de 20 salas alrededor
  • Había 2 salas especialmente acondicionadas para sesiones de programación / con computadoras
  • Un bar/restaurant dentro del espacio abierto
  • No hubo un momento predefinido para el almuerzo, había sesiones todo el tiempo y cada uno elegía a qué hora parar para comer o incluso se podía seguir de largo. De esta forma se evitó congestión a la hora de almorzar
  • El lugar de la conferencia estaba ubicado entre un parque y un centro comercial. Se podía cruzar fácilmente al patio de comidas del centro comercial del mismo modo que se podía cruzar al parque para disfrutar el aire libre. Incluso me parece que hubo alguna sesión en el parque
  • El marketplace del open space fluyó bastante bien a pesar de la gran cantidad de participantes (~1000)
  • Respecto del contenido creo que hubo para todos los gustos:
    • sesiones técnicas / específicas de software,
    • sesiones más orientadas a la gestión / colaboración (la mayoría me parece que fueron de este tipo)
    • y sesiones diversas que no entran en ninguno de los otros dos grupos que mencioné

Esta es la tercera edición de la conferencia en formato 100% Open Space y sin keynotes, me parece que es un momento interesante para detenernos a pensar cómo queremos que sea el evento en las siguientes ediciones, pero ese es un tema que trataré en otro post.

Un detalle interesante de las credenciales es que tenían semillas incrustadas con la idea de plantar la credencial una vez finalizada la conferencia
En la apertura del evento hubo un show de tango: músicos en vivo y una pareja de baile

Integración Continua 2.0

El sábado pasado en el contexto de Agiles 2019 hice una sesión en formato mini-taller sobre este tema. Era la primera vez que hacía este taller pero más allá de eso creo que salió muy bien.

Integración Continua 2.0 es una idea que viene a reflejar algunos cambios en la forma de implementación de esta práctica que he visto a lo largo de los años. Yo empecé a utilizar esta práctica allá por 2005 / 2006 utilizando la herramienta CruiseControl. Desde aquella época al día de hoy varias cosas hay cambiado:

  • Antiguamente la definición del proceso de integración continua se hacía “dentro del build server”, en la actualidad la mayoría de las herramientas permiten (y promueven) la definición del proceso de integración continua dentro del propio repositorio donde se encuentra el código fuente a integrar. Esto es lo que hacen los archivos .travis-ci.yml, Jenkinsfile, etc.
  • Antiguamente los servidores de integración continua corrían típicamente on-premises mientras que en la actualidad es muy común utilizarlos en la nube e incluso en algunos casos en un modelo “as a service”
  • Antiguamente el build se armaba en base a plugins del build server, mientras que en la actualidad hay un clara tendencia a armar todo el proceso de build en scripts que luego son invocados por el build server
  • Antiguamente los servidores de integración continua estaban enfocados en tareas concretas de integración continua, mientras que en la actualidad tienen un foco más amplio apuntando todo el proceso de delivery

Creo que estos puntos quedaron bien claros durante el taller, aún cuando en los ejercicios prácticos no fueron necesariamente en este sentido. De hecho los ejercicios tuvieron más foco en el proceso de delivery.

El taller tuvo una muy buena valoración por los participantes.

Aquí están disponibles los slides que utilicé durante el taller.

Agradezco a todos los participantes y espero que la sesión les haya resultado útil.

Trabajo en grupo durante el taller
Valoración del taller por los participantes en una escala de 1 a 5

Notas de la sesión de libros de autores latinoamericanos en Ágiles 2019

Hoy en Agiles 2019 hicimos una sesión donde se presentaron los siguientes 8 libros:

  • Proyectos Ágiles con Scrum de Martin Salías & Martín Alaimo
  • Construcción de Software, una mirada Ágil, de Nicolás Paez, Diego Fontdevila y otros
  • Poder Creativo de Ingrid Astiz (presentado por María Thompson)
  • Historias de Usuario de Lucho Salazar y Jorge Abad
  • Ingeniería de Software con Scrum, de Dario Palminio
  • La serie del AOC, compilado por Nicolás Paez
  • Agilidad en 4 estaciones, de Melina Jajamovich
  • Desarrollo de Software Ágil en 10 Pines, de Federico Zuppa

Cada autor presentó su libro en 4 minutos y luego tuvimos un espacio para preguntas. En este link están los slides con los datos de contacto de los autores.

Finalmente cerramos las sesión regalando unos 40 ejemplares de los libros presentados. Dejamos los libros sobre una mesa y dejamos que la gente se los reparta con el siguiente compromiso:

  1. Llevarse no más de un libro por persona
  2. Twittear sobre libro
  3. Anotar en la contratapa del libro el nombre de quien se lo llevó y la fecha
  4. Leerlo y dar feedback al autor
  5. Pasarlo a otro persona para que repita el proceso

La idea es que lo libros no queden de adorno en una biblioteca sino que circulen por la comunidad.

Autores latinoamericanos: Diego Fondevila, Nicolas Paez, Dario Palminio, Federico Zuppa, Miaria Thompson, Melina Jajamovich, Jorga Abad, Natalia Baeza, Lucho Salazar, Daniel Celian, Martín Salías y Juanjo Zapico

AgileBrazil 2019, day 3

I attended to 3 session and the rest of the time I was talking with people in the coffee area.

The first session I attended was the one by Hugo Corbucci who talk about the test-pyramid and some variations on it. He shared his experience working on this topic at Digital Ocean where he currently works. Nice session.

Next, I attended a session by Joseph Yoser who talked about Scrum Patterns. It was an interesting session. Joseph talk about the patterns published at http://scrumbook.org/. During the session he just reviewed a couple of patters (the site contains around a hundred patters) and it seems a very interesting resource.

Finally, the closing of the conference was with a keynote session by Dr. Alistair Cockburn who talked about his approach called Heart of Agile. I was already familiar with this approach because my friend SolePinter who is actively working with it. I liked how the session was driven.