Tesis completa

Hace poco más de dos semanas completé mi tesis de maestría que realicé bajo la dirección de Ale Zangara, la co-dirección de DiegoF y la asistencia técnica de Ale Oliveros. Mis eternas gracias a ellos tres. Debo también agradecer a Carlos Fontela que medio feeedback de varios capítulos de la tesis. Obviamente también agradezco a mi equipo docente, a mis alumnos y a mi familia.

Me llevó un par de años completar la tesis (más de lo habitual). Durante ese tiempo realicé 3 publicaciones (también más de lo habitual).

En estos momentos me encuentro a la espera de designación del jurado evaluador. Luego, tendré que esperar un par de meses a que los jurados lean la tesis y me convoquen para la defensa. Estimo que será en algún momento de este año.

Esta tesis representa el último paso de mi carrera de maestría. Una maestría que en términos de calendario me llevó más tiempo que mi carrera de grado. Si bien pasaron años desde que terminé de cursar las materias de la maestría hasta que finalmente comencé a trabajar en la tesis, creo que no fue tiempo en vano. En todo ese tiempo pude poner en práctica diversas cuestiones que aprendí en las materias de la maestría y mejorar mi práctica docente.

Muchas de las cuestiones que tratadas en la tesis surgieron como parte del proceso de investigación pero varias otras ya formaban parte de mi práctica docente y esta tesis sirvió para formalizarlas y validarlas. Asimismo, en el proceso de hacer la tesis aprendí mucho sobre métodos de investigación, lo cual me habilitó a hacer esta tesis pero también a realizar diversas publicaciones científicas, varias de ellas relacionadas a esta tesis pero algunas otras no.

Comencé este trabajo de investigación con una serie de preguntas. A muchas de ellas pude darle respuesta a lo largo del desarrollo de esta tesis. En ese sentido, la conclusión de esta tesis representa un final, el final de mi carrera de maestría en Tecnología Informática Aplicada en Educación. Pero es también un inicio, pues mientras contestaba algunas preguntas, otras fueron apareciendo. Nuevas preguntas que seguramente me llevarán a emprender nuevos caminos. Como dijo un músico hace ya varios años: el final es en donde partí.

Próximos cursos 2026: legacy code y continuous delivery

Este año casi no di cursos porque estuve muy metido en proyectos, pero ya tengo decido que el año próximo volveré al ruedo.

Por un lado voy a estar dictando mi clásico curso de «Continuous Delivery» que era parte de la diplomatura y ahora al no abrirse la diplomatura lo dictaré por mi cuenta. Una actualización de la próxima edición será la inclusión de IA.

Por otro lado, voy a estrenar un curso sobre «Evolución de código legacy», este es un curso que tenía en mi lista de pendientes desde hace largo rato y que finalmente decidí materializar pues creo que el uso de IA hace una gran diferencia en este tipo de proyectos. El curso está en gran medida basado en el libro de Michael Feathers y en mis propias experiencias en proyectos de código legacy durante +10 años.

La modalidad de cursada en ambos casos será la usual de mi cursos:

  • online
  • un encuentro sincrónico por semana
  • teoría, código de ejemplo y trabajo sobre el código de los proyectos que los participantes traigan

Los interesados pueden escribirme por aquí para que les mande información más detallada.

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.

 

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.

My notes from IEEE WECIS 2017 @ Tucumán

Last week I traveled to Tucumán to participate in the WESCIS conference. I shared Sunday morning with some of the IEEE Students in charge of the organization. In the afternoon I met my colleague Ivan Hansen at Yerba Buena neighbourhood. Finally, at the end of the day I had dinner in a typical restaurant with Gustavo Juárez (president of the IEEE Argentina) and some students and other speakers: Ivan Ruiz Flores (an electrical engineer from Cuernavaca, México), Roberto Urriza(an engineer specialized in Robotics) and Edmundo Loandos (an engineer and professor specialized in data center virtualization),

On Monday I delivered two talks, the first about Modern Extreme Programming and the second one about Legacy Code and Continuous Delivery. For these two talks I used Google Forms questionnaires to interact with the audience: I prepared a couple of questions (each of them in a different form) and asked the audience to fill them at different points of the talk. I really liked this dynamic, I think it is a great way to interact with large audiences (I think there were 60+ people in the talks). Here and here are the slides I used during the talks. In the evening I met some UTN-FRT professors to share some teaching experiences. It was a very nice surprise to discover that one of them had read my book and she was using it in her course.

On Tuesday’s morning I visited Ivan’s company to meet part of his team and talk about DevOps. In the afternoon I delivered a workshop about Modern XP. There were around 35 people and they evaluated the workshop with 4.5/5.

 

I want to thank Ariana and all the IEEE team @ Tucumán for this great conference, it was an honour for me to be part of it.

More pictures here.

Taller de Continuous Delivery

Por estos días me encuentro trabajando en la preparación de un Taller sobre Continuous Delivery. El taller surgió a partir del pedido concreto de un cliente, pero obviamente armar un curso para dictarlo solo una vez no es negocio, así que seguramente agende para volver a dictarlo en un futuro (interesados contactarme ;-)).

El taller es de índole de práctica, o sea los participantes ponen manos en la masa. Para ello he preparado una imagen de máquina virtual para que los alumnos hagan los ejercicios. Hay algunos ejercicios de carácter más teórico (por ejemplo diseño de ambientes) pero la mayoría son de índole práctica orientados a herramientas (por ejemplo configurar Jenkins para hacer deploy automatizado de una aplicación en diversos ambientes).

Comparto aquí un video con un poco más de información.

Despedida de UNQ

El mes pasado cerré una etapa en mi carrera docente, presente mi renuncia en UNQ. No fue una decisión fácil, en UNQ estuve por primera vez a cargo de una materia lo cual fue un gran paso en mi carrera. Por otro lado tuve la oportunidad de aprender y compartir muchas experiencias tanto con colegas docentes como con alumnos. También tuve la oportunidad de participar de algunos de los debates de armado de la Licenciatura en Desarrollo de Software (que luego debió renombrarse por cuestiones administrativas). Por cinco años forme parte de un equipo docente de excelencia.

En estos cinco años, participé inicialmente del dictado de Objetos 1 y luego estuve a cargo de Ingeniería de Software. En los 9 cuatrimestres que dicté esta última materia tuve un total de 105 alumnos con un porcentaje de aprobación del 89%.

Pero como mencioné tiempo atrás, este año decidí dar un nuevo paso en mi carrera y tomé un cargo de mayor dedicación en UNTREF con el objetivo de trabajar en un proyecto de investigación.

A pesar de dejar mi cargo espero poder seguir en contacto con la comunidad UNQ y poder participar de futuras actividades.

Agradezco a toda la comunidad de UNQ  por las experiencias compartidas y muy especialmente a Fidel, quien me abrió las puertas de TPI y confió en mi para el dictado de Ingeniería de Software.

¡Gracias totales!

SoCraTes arrives South America

SoCraTes arrives South America

Next Friday, July 1st, the Software Craftsmanship and Testing Conference will arrive to South America. It will be hosted at Universidad de Chile.

I have just bought my ticket so in the next couple of days I will start preparing a session proposal (the agenda is full open space). I have 2 possible topics in mind:

  • Bringing technical excellent to legacy projects: since I started my freelancer activity the majority of the projects I have been involved were legacy projects. In that contexts my main concern was always remove technical impediments in order to enable the continuous delivery of business value. So the idea of this session is to share some patterns and practices to face this challenges.
  • Continuous Delivery at Scale: setup a Jenkins server and configure a couple jobs to automate integration and deployment is an «easy task», but the situation get complex when you have to manage hundred of projects and at the same time follow several organisational policies. This session is about patterns and recommendations to deal with this stuff.

I don’t have enough time to prepare both sessions, so I have to pick one. What would you prefer?

 

XPConf 2016: Pre-conference (day 0)

Day 0 is DONE. There was a set of pre-conference workshops. I attended to «Software Faster» full-day workshop facilitated by Dan North.  Another workshops I considered before making my mind were: Mob Programming (Woody Zuill) and Exploratory Testing (Elisabeth Hendrickson).

The workshop was useful, the main takeaways points for me were:

  • some techniques to deal with legacy code
  • a set of activities to experiment in my classes at the university
  • a list of reading

After the workshop there was an ice-breaker activity sponsored by Head Resourcing with some drinks & snacks and finally we had the «Dinner with an agile stranger» sponsored by Headforwards.

DSC05743
Software Faster Workshop by Dan North

 

Time to learn Smalltalk: big opportunity

A while ago Stef and his troop started working on a MOOC (massive online open course) about Pharo Smalltalk.

The course is finally live and its formal name is Live Object Programming in Pharo.  The course content is very interesting because it goes far beyond Pharo Smalltalk. Of course it covers Pharo/Smalltalk syntax but it also covers OOP foundations and how OOP mechanisms are implemented in Pharo.

I think this course is a great opportunity for all those programmers who are not familiar with Smalltalk and specially those that are only familiar with static-type languages (like java and c#), believe me: Smalltalk will blow your mind!

The course started last week, but don’t worry it is seven weeks long so you are on time to join, just register here.

pharo_mooc