¡Chau 2009!

Y si, se acabó. Para mi fue un año muy movido y pasó volando. Entre los hechos más relevantes de mi scope este año no puedo dejar de mencionar: mi cambio de trabajo, el cambio de radical que implementamos en el dictado de Algo3, el curso experimental que dictamos de algo1 utilizando Python, la expericiencia docente en UNTreF y mis participaciones en Agiles2009, en el Agile Open Tour y en Smalltalks 2009.

Tecnológicamente comencé el año con Windows7 y lo estoy terminando corriendo Ubuntu 9.04 (tengo un par de posts pendientes sobre este tema).Por otro lado profundicé mi conocimiento de Smalltalk, aprendí Python y dí mis primeros pasos en Cloud Computing e identidad federada

Y esto es todo por este año, mañana seguramente escribiré sobre mis expectativas para el año próximo. Ahora simplemente les digo:

Chau 2009, y que arranquen muy bien el 2010!

Anuncios

Project A: day#end

We shipped it! The product is now complete. It is not yet in production environment because the Go live!is scheduled for the end of January. Working on this project has been a very pleasant experience and weperformed a smooth delivery as well.

A few numbers of this project:

  • 44 stories completed
  • Representing a total weight of 97 points
  • In a timeframe of 5 iterations
  • With an iteration lenght of 1 week.

There is one post pending about this project that I will write after going live.

Retrospectiva con alumnos en Algo 3

El pasado jueves fue la última clase de Algo 3 y nos pareció el momento indicado para hacer una restrospectiva con alumnos. Yo tomé el rol de facilitador. Para la retrospectiva utilizamos la técnica que Diana Larsen utilizó en Agiles2009 y que está explicada en su libro Agile Retrospectives. Muy a grandes rasgos la técnica tiene la siguiente dinámica:

  1. En una pared se traza un timeline (que en nuestro caso representaba el cuatrimestre) y se le pide a los participantes que escriban en post-it los eventos y sensaciones que tuvieron durante los largo del periodo del tiempo en cuestión. Cada post-it se ubica sobre la línea de tiempo considerando su “positividad/negatividad” ubicando más arriba los post-it con referencias a cosas positivas y más abajo los de referencias negativas. Cada participante puede poner varios post-it y no importa que distintos participantes hagan referencia al mismo tema.
  2. Una vez completo el timeline con todos los post-it se pasa a leerlos uno por uno  “clasificándolos” en áreas temáticas.
  3. Cuando se han clasificado todas las historias, se pide a los participantes que voten aquellos temas sobre los quieren trabajar.
  4. Finalmente, los temas más votados son trabajados en mesa redonda. En nuestro caso las áreas más votadas fueron:
    1. Contenido de la materia (16 votos)
    2. Clases prácticas y Trabajos prácticos (12 votos)

Respecto del contenido de la materia los actions items más importantes que sacamos fueron:

    • Reveer la decisión de dar lecturas obligatorias en inglés, pues ha resultado un impedimento muy importante para muchos alumnos.
      • Continuar dando Smalltalk, pero dar más clases prácticas al respecto, pues costó mucho programar el TP Smalltalk.
        • Dar la clase de Scrum antes (en este cuatrimeste fue la última clase). La idea seria darla antes de comenzar con el TP grupal para que puedan utilizarlo al hacer dicho TP.
          • Dar más soporte para el uso de ANT. Este punto no lo comparto, me parece que es una herramienta muy simple y con lo que se dió en clase y un poco de voluntad tiene que ser suficiente para hacer lo que les pedimos.
            • Ajustar la clase de persistencia, pues dejo más interrogantes que respuestas.

              En cuanto a las clases prácticas:

                • Continuar con las clases en el laboratorio
                  • Compartir el diseño del TP con otros grupos para tener una visión distinta.

                    Sin duda al hacer la retrospectiva del con todo el equipo docente tomaremos estos en consideración para el cuatrimestre próximo.

                    Algunas que se mencionaron durante la restrospectiva y que quisiera destacar fueron:

                      • Los alumnos vieron como positivo el hecho de utilizar Smalltalk, pues les permitió tener acercamiento más concreto a la idea de objetos que se comunican enviandose mensajes.
                        • El reconocimiento de los alumnos a la labor del equipo docente, contestando consultas tanto presenciales en las clases como en la lista de correo de la materia.
                          • Les resulto de gran interés la clase sobre tendencias que dimos con Eugenio.

                            Personalmente debo decir que termino el cuatrimestre muy contento pero también bastante agotado, la carga de trabajo de este cuatrimestre fue mucho mayor a la que estábamos acostumbrados. Estoy contento porque creo que el enfoque adoptado permitió a los alumnos aprender mejor los conceptos de la materia y en relación a esto quisiera mencionar un episodio que me ocurrió la semana pasada. Estaba hablando con uno de mis grupos, en un momento les pregunté porque no habían avanzado aún con las clases de interface de usuario y un alumno me contesto: “es que aún nos falta agregar algunas pruebas unitarias para asegurar el correcto funcionamiento del modelo”. Esto no dice cuando aprendieron de objetos, pero si refleja claramente que entendieron la importancia de las pruebas.

                            Me despido con algunas fotos que tomamos durante la retrospectiva.

                            Imagen0039 Imagen0038

                            Imagen0040

                            AOP reloaded

                            El jueves pasado Pablo Cosso me invitó a dar una clase de AOP en su materia en Fiuba. Esto me obligó a desenpolvar mi tesis de AOP y actualizar parte del contenido en base a los avances de los últimos dos años. Mal que me pese el  tema de AOP se ha enfriado muchísimo respecto de los que era hace dos años. Un clara prueba de esto es la actividad de las lista de aosd.net donde la cantidad media de mensajes mensuales no supera los 10 mensajes. El porque de este enfriamiento merece un post aparte que estaré escribiendo próximamente. Más allá de esto, me parece importante mencionar una herramienta para plataforma .NET que se ha convertido en el “análogo” a AspectJ: PostSharp. Esta herramienta ofrece capacidades weaving estático con un modelo de pointcuts basado en anotaciones. Además la herramienta cuenta con una serie de contribuciones que permiten integrarla fácilmente con distintos componentes/herramientas como Spring Framework y EntLib entre otros. La clase duró unos 90 minutos y hacia el final surgieron varias preguntas de parte de la audiencia que parecen indicar que el tema resultó de interés.

                            Quiero agradecer a Pablo por su gentíl invitación.

                            Próximamente más AOP.

                            Saludos!

                            Project A: day#11, same team new project

                            Today we started working on project A2. Project A is still in progress but the work remaining is enough for one dev, so  together with the customer we decided to split the team in two. Diego will continue working in project A for 2 weeks while Gabriel and myself will start working on project A2. Both projects are related, not at the code level but at business level and that is why we splitted the team in two instead of having a new team doing A2. This afternoon we had a review & planning meeting with the customer where we showed the progress on project A and we set the vision and overall context for project A2.

                            This is one of the things that I find interesting an different compared to previous work experiences: projects run fast, maybe in two weeks. So you need to be sharp, execute, deliver and get ready for the next challenge. Weekly iterations help and communicating status daily is crucial to steer the direction if needed.

                            To be continue…

                            Mi arcón de los recuerdos

                            Revisando viejos back-ups encontré algunos programitas que programé hace unos cuantos años. Para mi sorpresa algunos de esos programas son adictivos. Hay tres de ellos en particular que merecen una mención.

                            Ta-Te-Ti: también conocido como 3 en linea. Lo hice después de cursar Teoría de algoritmos 1 para aplicar backtracking en la estrategia de juego de la máquina. image

                            Escalera: es un juego de cartas que solia jugar muy seguido en la época que lo programé.image

                            TECA: Técnica y Estrategia de la Conquista Algoritmica, fue el trabajo con el que aprobé la materia Algortimos y programación. Es un juego muy parecido al mítico juego de mesa TEG.

                            image

                            Mientras los desenpovaba aproveché y los subí a la web. Por el momento solo subí los binario, luego de hacer una revisión del código fuente también lo publicaré baje licencia GPL.

                            Descargar Ta-Te-Ti.

                            Descargar Escalera.

                            Descargar TECA.

                            Espero se diviertan.

                            SOA & Cloud computing en Fiuba (completo)

                            Dimos la clase y creo que a los alumnos les resultó entretenido.El título que le dimos a la clase fue: Tendencias en el desarrollo de software. Me parece una buena idea la de hablar sobre tendencias pero sin duda deberemos revisar y actualizar los temas expuestos teniendo mucho cuidado con la profundidad con la que tocamos cada tema.

                            El slide deck utilizado está disponible aquí.