Ingeniería de Software en la Era DevOps

Este el título de la charla/tutorial que dí la semana pasada en el contexto de CIbSE. En Zoom hubo unas 80 personas conectadas pero de las actividades interactivas que propuse, participaron alrededor de 30, un buen número de todas formas.

El punto central de mi de charla fue el hecho de que los escenarios que enfrentamos actualmente en la entrega de software nos llevan a tener que lidiar con ciertas cuestiones que tradicionalmente la ingeniería de software no ha atendido presentes. Al mismo tiempo, dichas cuestiones son centrales dentro del movimiento DevOps. Esto plantea un dilema: ¿es DevOps una disciplina distinta a la Ingeniería de Software? Pues yo creo que no. A mi parecer la Ingeniería de Software debe incluir DevOps. De hecho algunas de prácticas DevOps no son nuevas, sino que han sido parte de la Ingeniería de Software desde hace mucho tiempo. Ejemplo: Integración Continua.

En línea con esta idea, durante mi disertación mencioné varios libros que deberíamos tener presentes a la hora de plantear una Ingeniería de Software que incluya la temática DevOps:

Actualización: ya está disponible el video de la sesión, aquí.

Eventos IT de Octubre

Los últimos días de Octubre pueden resultar días muy movidos para la gente de IT ya que tendremos 3 eventos importantes. Les cuento en orden cronológico.

Del 20 al 23 de Octubre será Nerdearla, un evento que ya con siete ediciones me animo a decir que se ha convertido en un clásico para la gente de IT al menos en Argentina. Sin embargo creo que el año pasado con su edición online ha generado repercusión en todo Latam. Personalmente creo que en la actualidad es uno de los mejores eventos del rubro. Este año contará con 150 charlas y talleres con speakers como Bjarne Stroustrup (creador de C++) y Brian Kernighan (creador de C). Como de costumbre el evento gratuito pero requiere registración.

Del 25 al 29 de Octubre será la PyConAr, aún no está publicado el programa y sinceramente no se mucho de esta conferencia. Nunca he participado pero he visto grabaciones de charlas de años anteriores que me parecieron muy buenas y dado que ahora estoy trabajando bastante con Python creo que este año participaré.

Del 27 al 30 de Octubre, tendrá lugar el Agiles 2021, denominado formalmente como «Jornadas Latinoamericanas de Agilidad». Sin duda esta conferencia es mucho menos técnica que las anteriores. Sin embargo este año la lista de oradores incluye nombres como Bob Martin y Rebecca Parsons. El evento será online con un formato mixto de sesiones predefinidas (yo fui invitado a dar una) y sesiones que serán definidas por los propios asistentes (al estilo desconferencia). La registración tiene un costo de 10 dólares.

Conferencia Testing UY 2021

Este año participé por primera vez como orador en esta conferencia. Más allá de mi experiencia como orador me gustó la organización de la conferencia debido a varias cuestiones que me resultaron innovadoras sobre todo considerando que es un conferencia gratuita organizada por voluntarios.

Además de las tradicionales charlas como la que di yo (de una 1 hora de duración), había también una oferta de talleres (en general de carácter muy práctico y con cupo limitado) y charlas relámpago.

La conferencia se desarrolló durante toda la semana. Los talleres se dictaban durante la mañana/mediodia y primera hora de la tarde. Las charlas tenían lugar por las tardes en horario «after office».

Más allá de las actividades de contenido, había sorteos y un desafió de testing en equipos. La transmisión de las charlas se hizo por Zoom y todas ellas (las charlas, no los talleres) serán publicadas en el canal de YouTube de la organización.

Como ya es costumbre en tiempos de pandemia, había también un discord a modo de «espacio social».

Un detalle que me resultó muy interesante es que a pesar de ser un evento «latino» hubó varias presentaciones de otros lugares del mundo, varias de ellas en inglés.

Tuve la oportunidad de participar de varias charlas entre las que se destacaron a mi gusto: la de Guillermo Skrilec sobre el testing de la aplicación de vacunación en Uruguay, la de José Luis Velázquez Jacobo sobre testing de sistemas de conducción asistida y la de Federico Toledo y Matias Fornara sobre calidad de pruebas automatizadas.

Las diapositivas de mi charla está disponibles aquí.

Mis felicitaciones y agradecimiento a los organizadores, creo que ha sido un gran evento, de los mejores de la región.

A tale of Slicing and Imagination

Este es el título de la charla que voy a estar dando en el contexto de la conferencia XP 2021 el 17 de Junio a las 14:00 (GMT-3). La charla está basada en un artículo que escribí a modo de reporte de experiencia con la colaboración de Rebecca Wirfs-Brock y que será publicado en el sitio de la Agile Alliance.

El punto central de la experiencia que voy a contar pasa por la estrategia de slicing que utilizamos en un proyecto en el que participé el año pasado. Dicha estrategia fue central para poder entregar incrementos de valor de forma continua. Al mismo tiempo la estrategia de slicing requirió del uso conjunto de otras técnicas como continuous delivery, feature toggles y una arquitectura de «micro-apps».

Esta conferencia es una de las conferencias que más me gusta porque tiene la particularidad de combinar trabajos formales/académicos con experiencias de industria. Los interesados en participar pueden aprovechar la registración temprana que está habilitada hasta el 31 de mayo.

Actualización: ya está publicado en el sitio de la Agile Alliance el artículo que dio origen a la charla.

Primeros eventos del año

Ya casi completando los dos primeros meses del año se va poblando la agenda de eventos. Comparto algunos que tengo en radar.

Campus Party Uruguay es una conferencia con un formato bastante particular: 3 dias inmersivos de charlas, talleres, networking y carpas. Si, literalmente hay gente que durante esos dias dormirá en carpa. Según me han comentado los organizadores esperan tener unos 2500 asistentes diarios y unos 80 oradores. Este evento tendrá lugar en Puntal del Este del 15 al 17 de marzo. En el contexto de este evento fui invitado a dar una charla y un taller.

La semana pasada se lanzó la convocatoria de charlas para la ArqConf, la fecha limité para en envió de propuestas es 15 de Marzo.

Del 10 al 13 de Abril se realizará en Bariloche el Agile Open Camp Argentina, pero la inscripción ya está cerrada.

Esta semana se publicó el sitio del Workshop de Investigadores de Ciencias de la Computación WICC 2019, una conferencia académica donde grupos de investigación presentan las líneas en las que están trabajando. Este año la conferencia se realizará en la Universidad Nacional de San Juan los días 25 y 26 de Abril. El llamado para presentación de trabajo cierra el 10 de Marzo. Con el grupo de investigación de UNTreF tenemos intención de presentar nuestro trabajo.

Del 29/4 al 1/5 se realizará en Nashville, USA la conferencia técnica de la Agile Alliance: deliver agile 2019.

Del 21 al 25 de Mayo tendrá lugar en Montreal, Canadá la XP 2019. Será primera vez que la XP se realizará fuera de Europa. A continuación de la XP, en la misma ciudad y compartiendo 1 día, tendrá lugar ICSE, la conferencia académica más importante de Ingeniería de Software. Será del 25 al 31 de mayo.

test && commit || revert

Esta es una idea experimental de la cual Kent Beck comenzó a hablar hace un par de meses. La primera vez que escuché al respecto me sonó raro. Ya llevo varias semanas dándole vueltas y me sigue resultado raro pero el hecho de haber estado probándolo me permitió reflexionar sobre mi flujo de trabajo al programar.

Más aún, he estado trabajando en un mini-taller exploratorio de TCR para compartir esta idea y poder destilarla en conjunto con otros practicantes. Voy a aprovechar el Open Space que se realizará en Buenos Aires en el contexto de la semana de la agilidad, los interesados traigan sus notebooks, git y ganas de codear.

Taller online de Docker/Kubernetes

Taller online de Docker/Kubernetes

Hace tiempo que vengo haciendo experimentos con distintas técnicas de enseñanza/entrenamiento y finalmente he decidido hacer un taller online. Una parte de la motivación pasa por pura curiosidad y otra parte tiene que ver con un experimento para mi maestría en informática aplicada a educación.

La temática del taller será Docker/Kubernetes. Lo dictaré durante el mes de Enero y tendrá una carga horaria de unas 5 horas semanales divididas en 2 horas de trabajo online (clase + consultas) y unas 3 horas de trabajo offline (tareas varias como lecturas, videos, programación, etc.). Los horarios de los encuentros online los definiré en conjunto con los interesados en participar del taller.

Inicialmente pensaba hacerlo gratuitamente, pero estoy harto de organizar eventos gratuitos en los que rápidamente se completan los cupos de inscripción y luego asisten tan solo 35% de los inscriptos. Explicado mi punto de vista, el taller tendrá un costo de u$d 50 (dólares) para profesionales y 15 dólares para estudiantes que no trabajan.

A grandes rasgos el temario del taller será:

  • Introducción a Docker
  • Consideraciones para la elección de imágenes base
  • Recomendaciones para la creación de imágenes
  • El ecosistema de herramientas Docker
  • Tecnologías de contenedores más allá de Docker
  • Introducción a Kubernetes
  • Recomendaciones para el diseño de aplicaciones Kubernetes
  • Manejo de configuración con Secrets y ConfigMaps
  • El ecosistema de herramientas Kubernetes
  • Deploy y monitoreo
  • Distribución de aplicaciones Kubernetes con Helm

El taller está destinado de más a usuarios de kubernetes que a administradores de Kubernetes por ello no se cubriran cuestiones tales como la instalación de Kubernetes.

Los interesados pueden completar este formulario de inscripción y si tienen consultas pueden escribir un comentario en este post.

Jornadas Universitarias de Sistemas de Información en Salud

La semana pasada estuve participando por primera vez de estas jornadas. organizadas por el Hospital Italiano de Buenos Aires.

Me tocó abrir el track de Ingeniería de Software con una chala que titulé «La última milla: del final de la iteración a la puesta en producción«.  La idea fue:

En la actualidad es común organizar el desarrollo de software siguiendo un enfoque ágil con iteraciones cortas. En línea con esto muchos equipos han decidido trabajar con Scrum como marco de referencia. Sin embargo, el tiempo transcurrido entre el fin del desarrollo de una funcionalidad y la puesta en producción de la misma sigue siendo un impedimento para la entrega continua de valor. En esta sesión repasamos algunos de los problemas típicos que enfrentan los equipos para recorrer esa “última milla” y veremos prácticas y herramientas utilizadas en la actualidad para allanar los impedimentos y optimizar el flujo de valor.

Más allá de mi charla, tuve la oportunidad de escuchar algunas otras exposiciones que me resultaron muy interesantes. Definitivamente voy a agregar este evento a mi calendario anual de conferencias.

Las diapositivas que utilicé en mi charla están disponibles aquí.

Taller de TDD, CI & Pair-Programming

En el contexto de las Jornadas de Ingeniería de Software del Uruguay, estuve haciendo un Taller sobre Test-Driven Development, Continuous Integration & Pair-Programming.

Participaron del taller unas 19 personas y a pesar de algunos imprevistos (como que la gente no hubiera leído los materiales de preparación), el taller salió muy bien. La evaluación general del taller fue 4.4 / 5.

Dejo aquí los recursos que compartí con los asistentes del taller:

Primeras Jornadas de Ingeniería de Software del Uruguay (notas personales)

Los pasados martes y miércoles estuve participando de este evento. Tuve el honor de dar el keynote del martes. Hablé sobre un tema de moda que conozco con bastante profundidad: DevOps. Las diapositivas de mi exposición están disponibles aquí.

Entre las exposiciones que me resultaron más interesantes estuvieron:

  • La de Federico Toledo quien contó experiencias en pruebas de performance.
  • La de Guilherme Travassos, un reconocido académico brasilero, quien expuso sobre «Using validation sessions based on technology probe in software development to innovation«
  • La de Jorge Corral que habló sobre la exportación de servicio de IT a USA
  • La de Nicolás Jodal,  quien habló sobre los desafíos de 30 años de evolución de Genexus (producto desarrollado por su empresa).

Más allá de las exposiciones hubo una mesa redonda de la que participaron varios referentes de la industria uruguaya del Software en la que se destacó la presencia de la Ministra de Industria Carolina Cosse.

Agradezco a Diego Valespir, Cecilia Apa y al resto del equipo organizador por la haberme invitado y los felicito por el gran evento realizado.