Libro: Hexagonal Architecture Explained

Hace un par de días terminé de leer este libro, escrito por el mismo Alistair Cockburn, descubridor de este patrón. Curiosamente la publicación inicial fue hace unos 20 años en algunos artículos informales. A lo largo de todos esto años fueron apareciendo diversas publicaciones sobre la arquitectura hexagonal, algunas de ellas del propio Alistar, pero recién hace un par meses fue publicado este libro.

El libro está muy bien. Explica claramente la técnica/patrón, no solo desde un punto de vista práctico y con ejemplos de código sino también desde un punto de vista conceptual.

Lo leí en el kindle con lo cual no tengo en claro la extensión del libro pero creo que aproximadamente la mitad del libro son reproducciones de artículos previamente publicados con algunas correcciones/comentarios. No pretendo hacer un juicio sobre esto, solo describo el hecho.

Una cuestión que me gustó mucho del libro es que deja bien claro el alcance del patrón lo cual me parece muy necesario ya que he visto muchas publicaciones de otros autores incluyendo cuestiones que claramente no son parte del patrón. Un ejemplo muy habitual de esto es decir que el interior del hexágono (o sea la lógica de negocio) se estructura de acuerdo a un estilo Domain-Driven Design, algo que yo suelo hacer pero que está más allá de la arquitectura hexagonal, o sea, la arquitectura hexagonal no se mete en qué hacemos dentro del hexágono.

En lo personal creo que si alguien pretende simplemente aplicar la arquitectura hexagonal en un proyecto, no necesita leer todo el libro, posiblemente con leer la primera parte o algunos de los artículos (recientes) del propio Alistair puede ser suficiente. Sin embargo, para aquellos curiosos que quieran ir más allá y hacer el ejercicio de profundizar en el patrón, sus implicancias y sus conexiones, este libro es un pieza fundamental.

Mis Notas de la 10 Pines Conf 2024

El viernes pasado estuve participando de la 10 Pines Conf, un evento cerrado para miembros de 10 Pines y algunos invitados externos, que desde hace un par de años la gente de 10 Pines organiza con motivo del día del programador.

Más allá de escuchar muy buenas charlas, tuve la oportunidad de reencontrarme con varios colegas, algunos de ellos ex-alumnos de mis materias/cursos.

Una curiosidad que me llamó la atención es que hoy en día hay en 10 Pines varias personas que fueron alumnos mios en distintos contextos (UBA, UNTreF y UNQ).

De todo lo que escuché hubo 2 charlas que me gustaron mucho. La que dió EmilioG sobre LiveView Native, una herramienta del ecosistema Exilir/Phoenix para crear aplicaciones móviles. Una de las cuestiones que me más me gusto de la charla es que Emilio arranco haciendo una demo en vivo y recién luego de eso explicó como funcionaba la herramienta. La otra charla que me gustó mucho fue la que dieron FacuG, ErnestoA y LucasW que contaron su experiencia haciendo un plugin de IntelliJ, mucha data valiosa.

Una cuestión interesante de esta conferencia es que la hacen en la oficina de 10 Pines utilizando las salas de reuniones. Esto hace que el orador esté sentando a la mesa junto con su audiencia. De esta forma las charlas son «chicas» generando cierto ambiente de cercanía con el orador y permitiendo a todos preguntar y profundizar en algunas cuestiones. En línea con esto, en la charla de Emilio no éramos más de 10 personas mientras que en la de FacuG, rondaba las 20 (con gente de pie alrededor de toda la mesa.)

Agradezco a EmilioG por la invitación y ojalá tengamos muchas más 10 Pines Conf (y también me inviten 😉 )

City Building Game @ UNTreF

El martes pasado en mi curso de Ingeniería de Software hicimos este juego como actividad para poner en práctica un proceso «Scrum-like». Este juego fue diseñado por mis colegas Alejandra Alfonso y Emilio Gutter.

En general veníamos usando el juego del Pajarraco Scrumero porque teníamos grupos chicos (no más de 10 alumnos), pero este cuatrimestre tenemos 30 alumnos y nos pareció que el City Building escalaba mejor que el Pajarraco. Y creo que no nos equivocamos. Si bien en alguna conferencia hemos hecho el Pajarraco con unas ~80 personas, en ese caso contábamos con muchos materiales y varios facilitadores. El Pajarraco requiere de materiales muy específicos (ladrillitos tipo Rasti) mientras que el City Building básicamente requiere de elementos de librería (tijeras, papel y pegamento) que son más fáciles de conseguir.

Lamentablemente Emilio y Alejandra no hay publicado el juego aún. Sin embargo cuando le comenté a Emilio que estaba escribiendo este post, me prometió en breve publicar todos los detalles del juego, así que los interesados pueden contactarlo directamente a él.

Cierro con algunas modificaciones que hicimos al guión original del juego:

  1. Descartamos el papel glase, lo reemplazamos por papeles de colores (tipo los de taquitos de oficina), hojas blancas y lápices.
  2. De la mano de lo anterior agregamos un nuevo rol a los equipos: el pintor.
  3. Solo 4 minutos de iteración nos pareció muy poco, creemos que sería mejor hacer iteraciones de 5 o 6 minutos.
  4. Redujimos el número de tijeras por equipo, creemos que salvo el cortador de círculos, los otros cortadores se pueden arreglar para cortar «a mano».