Sobre las Pruebas de Integración

En mi opinión no hay una definición única sobre qué es una prueba de integración. En términos muy generales suele asumirse que prueba de integración verifica la integración de dos (o más) componentes. La cuestión (o diferencia) radica en qué son esos componentes.

Algunos (¿la mayoría?) considera que esos dos componentes son componentes de nuestra propia autoría, por ejemplo: tengo dos clases desarrolladas por mi con algún tipo de dependencia entre ellas, claseA y claseB, entonces mi prueba de integración busca verificar la correcta interacción de esas dos clases entre sí.

Otros, donde me cuento yo, pensamos más en línea con la propuesta de Freeman. En este caso uno de los componentes en la prueba de integración no está bajo nuestro control, o sea: no lo desarrollamos nosotros. Esto hace que el foco de la prueba de integración pase por verificar la interacción del código que está bajo nuestro control con código que no lo está. Un caso típico es cuando nuestra aplicación debe interactuar con una aplicación/servicio/api externo como ser una API REST desarrollada por otro equipo/organización. En este caso, no tiene ningun sentido utiliza mocks (dobles de prueba) porque justamente lo que quiero verificar es la interacción con ese sistema externo, entonces de nada sirve reemplazar ese sistema externo con un doble de prueba.

#DetrásDeEscena: Prácticas Técnicas para Scrum Masters

La semana pasada grabamos con mi colega Martín Alaimo una conversión «Detrás de Escena» sobre varios temas de «Agilidad Técnica» que son parte de mi Taller de Prácticas Técnicas para Scrum Masters.

Me resultó muy interesante la charla, Martín es un gran entrevistador, hablamos de varias cuestiones más allá de lo que sugiere el título.

Comparto aquí la grabación y aprovecho para mencionar que en noviembre estaré dictando una nueva edición de este taller enfocado en Scrum Masters y facilitadores de equipos que quieran profundizar en las cuestiones que mencioné en la charla la Martín.

Impresiones a mitad de cuatrimestre

Ya estamos promediando el cuatrimestre y tanto en la materia de fiuba como en la untref ya hicimos la retro de mitad de curso. Tengo la sensación que en ambos casos las materias vienen fluyendo muy bien. Digo esto en base a dos cuestiones: lo hablado en las retrospectivas y también el desempeño de los alumnos.

Un factor fundamental en esto creo que es el tamaño del curso. En ambos casos estamos hablando de cursos chicos lo cual nos permite hacer un seguimiento bastante personalizado de los alumnos: feedback constante y detallado.

Curiosamente, a diferencia de cuatrimestres anteriores, no hubo en las retrospectivas mención a la carga de trabajo ni a las tecnologías utilizadas. Hasta ahora era típico que los alumnos hicieran mención a utilizar otro stack de tecnologías y alguna «queja» a la carga de trabajo. Pero este cuatrimestre no ocurrió. Tal vez porque son dos cuestiones que explicamos bien explícitamente al comienzo de cada curso.

En el caso de fiuba hicimos 3 actividades en la retrospectiva. La primera un chequeo de «realidad vs. expectativas». Les pedimos a los alumnos que indicaran si lo que efectivamente encontraron en la materia era mejor, igual o peor de lo que esperaban inicialmente.

Luego, en la segunda actividad pedimos feedback sobre distintos aspectos de la materia.

Finalmente, en la tercera actividad, hicimos un clásico keep-fix-try donde obtuvimos feedback más específico.

[offtopic] Sobre el tamaño y eficiencia del estado

En los últimos años se ha hablado bastante en Argentina sobre el tamaño y los costos del estado. Este es un tema, que como a todo el mundo, me toca como ciudadano pero también me toca como empleado de dos universidades públicas. En este sentido llevo más de 20 años trabajando como empleado público, siempre en universidades nacionales, generalmente en tareas de docencia e investigación y en este último tiempo también en cuestiones de gestión. En alguna ocasión también trabajé como proveedor del estado. Todas estas experiencia me llevaron a formar algunas opiniones.

Sin duda en el estado hay gente muy buena tanto en lo profesional como en sus intenciones. Tal vez incluso gente mejor que la que uno podría encontrar en el varias empresas del sector privado. Pero al mismo tiempo hay gente que no está a la altura de las tareas que debe desempeñar. En ocasiones es por falta de capacidad, gente que no está preparada y no tiene las herramientas intelectuales para hacer las tareas que tiene a su cargo. Pero en otras ocasiones es un falta de voluntad, desidia, un mindset de «hacer lo mínimo indispensable» para que no los despidan y cuando a esto le sumamos el clásico «en el estado no se despide gente» terminamos con gente haciendo prácticamente nada.

Pero la cuestión no termina ahí, por que esa gente sin capacidad o sin voluntad que no realiza su trabajo en tiempo y forma termina impactando en otras dos cuestiones. Por un lado, hay tareas que no se completan y se asume que es por falta de personal entonces la institución contrata más gente y es así que tenemos una planta de bastante más grande que lo necesario si cada uno hiciera sus tareas en tiempo y forma. Por otro lado, esa gente también impacta negativamente en las tareas que deben desempeñar otras personas provocando una bola de nieve de retrasos, impedimentos, ineficiencias, etc, etc.

Desconozco cuál es la solución para esto. Pero sin duda algo que podría ayudar sería tener algún mecanismo de evaluación de desempeño periódica que resulte vinculante para la continuidad de la contratación.

Notas de Nerdearla 2023

Una vez más…¡EXCELENTE!

Esta edición tuvo 5 días: los primeros dos online y los otros 3 presenciales pero con transmisión en vivo. Estuve los 3 días presenciales y quedé sorprendido de la cantidad de gente que había. En particular, el viernes por la tarde no entraba un alfiler en la Gran Sala. Asimismo, al margen de la asistencia presencial, informan los organizadores que hubo más de 40.000 registrados.

El jueves pasé gran parte de la jornada hablando con colegas, varios de ellos ex-alumnos. Esto puede parecer una picardía pero yo no lo veo así pues creo que una de las cuestiones más ricas de este evento es la posibilidad de networking.

Más allá de las «charlas nerds» de temas de física, astronomía y demás, las 4 charlas de IT que más me tocaron fueron:

  • Revolución Web de midudev
  • Effortless Software Development de Anna Filina
  • LLMs en producción de Guillermo Watson
  • 10 cosas que los devs deberían saber sobre las DB de Carlos Tutte

El sábado me tocó subir al escenario para dar mi sesión «Integración Continua 3.0». Una curiosidad de backstage es que me maquillaron para salir a escena :-). Me gustó como fluyó la charla, cumplí con los tiempos y creo que legué a compartir todo lo que me había propuesto.

Es increíble como este evento se supera año a año. Mis fecilitaciones a los organizadores.