Próximas actividades

¡Recorcholis!, cuanto hace que no escribo. En este último tiempo he estado abocado a algunas actividades de índole más cultural que me han mantenido distante de este espacio. Pero estoy devuelta porque se vienen una par de semanas movidas.
Para empezar mañana se llevará a cabo en Ciudad Universitaria un Agile Open enfocado en la temática «Coding», la idea es que la gente lleve sus máquinas y se armen sesiones de programación. Personalmente tengo bastantes expectativas en esto.
Por otro lado el miércoles próximo, en el clásico encuentro mensual de la comunidad, PablitoT y Rick Colusso estarán facilitando una actividad titulada «Buenas prácticas, malas prácticas», que pinta ser muy prometedora ya que cuando la propusieron mencionaron algo de hacer música. Como siempre, entrada libre y gratuita previa registración: http://spreadsheets.google.com/viewform?key=pYRdgdY5GynMxKLfA9HgFEg

Nos vemos!

Encuentro mensual agile Baires: Valores, principios y otros

La semana pasada participé del encuentro mensual de la comunidad ágil de Buenos Aires (nota al margen: el término ágil me esta empezando a molestar, tema de otro post). La temática del encuentro estuvo inspirada en la sesión propuesta por Ingrid en el Agile Open del pasado mes de Marzo.

El encuentro estuvo coordinado por Ingrid y Rick. Arrancamos como de costumbre sentados en ronda, diciendo nuestros nombre y respondiendo a una consiga, en este caso: «que me hizo feliz esta semana».

Luego Ingrid dio una introducción conceptual basada en una corriente cuyo nombre no recuerdo y a continuación hicimos un brainstorming de los «valores» que creemos necesario para trabajar en un equipo ágil (lo pongo valores entre comillas porque no estoy seguro de que todos los nombrados sean valores), luego votamos y finalmente nos dividimos en grupos para trabajar sobre los más votados.

Los más votados fueron:

  • Integridad
  • Colaboración
  • Espíritu de equipo
  • Compromiso
  • Disciplina

Cada grupo trabajó sobre uno de estos valores analizando su importancia, los efectos de su ausencia y la forma de fomentarlo.

Yo estuve en el grupo que trabajo sobre disciplina y algunas de las conclusiones que sacamos fueron:

  • En primer lugar definimos disciplina como «ajuste a las normas» ya sean estas implícitas o explícitas
  • En el caso de los métodos ágiles es crucial respectar las reglas establecidas por el proceso, ya que en general son muy pocas y su efectividad muchas veces depende de su cumplimiento incondicional.
  • En caso que no se respecten las normas la salud del equipo puede verse perjudicada, lo cual impacta también en el rendimiento del equipo.
  • Es fundamental para el cumplimiento de las normas que cada uno de los individuos esté convencido de la razones que lo sustentan.
  • También es importante tener el capacidad de discernir cuando la norma deja de ser útil y poder tomar acciones «revolucionarias» (correctivas) para modificar la norma y adaptarla al nuevo contexto.

Bueno, esto es todo por el momento.

Saludos!

Después de Agile Open Rosario 2010

Hubo alrededor de 60 asistentes, lo cual está dentro de lo esperado ya que había unos 100 inscriptos y siendo un evento gratuito una caída del 40% es muy común.

Luego de la bienvenida de Fabián, yo falicité la dinámica de las tribus, como para romper un poco el hielo y conocer un poco a los asistentes. Luego de eso Martín explicó la dinámica del formato open space y a continuación largamos la ronda de propuestas. Hubo alrededor de 30 propuestas (un número que sinceramente superó mis expectativas). La grilla quedó conformada con 15 sesiones repartidas en 5 slots con 3 aulas cada uno.

En lineas generales el evento salió muy bien, el contenido de las sesiones me resultó muy interesante  lo cual se vió reflejado en el hecho de que la gran mayoría de los asistentes estuvo hasta el final del evento.

Imagen0096 Imagen0102 Imagen0098

Agile Open Rosario: aqui estamos!

Llegamos a Rosario el ayer por noche, el viaje estuvo tranquilo. Luego de una breve escala en el hotel salimos a cenar y disfrutar fugazmente de la exquisita noche Rosarina.

Hoy el día comenzó a las 7 de la mañana y siendo ahora las 8.45 estamos en las instalaciones del Polo Tecnologico Rosario junto con Martin y Fabián en la previa del evento.

Tenemos más de 100 registrados al evento y hay una gran expectativa pues es el primer evento en Rosario con la dinámica Open Space.

Bueno, veo que estan llegando los primeros asistentes, asi que por ahora es todo, al mediodia intentaré hacer otro post.

Visita de Mariano MP

Como ya había adelantado, hace un par de semanas Mariano Martinez Peck estuvo por Buenos Aires participando como invitado especial en la clase de Algortimos 3. La clase estuvo divididaq en dos partes, una primera parte con formato de «entrevista», donde yo en el rol de entrevistador le hice algunas preguntas sobre la experiencia que está haciendo en PhD y una segunda parte donde Mariano explicó metaprogramación en Smalltalk.La visita de Mariano fue muy bien recibida por los alumnos quienes tuvieron una participación bastante más activa que en el promedio de las clases.

Sinceramente me gustaría que todos los cuatrimestres pudieramos contar con la presencia de algún invitado especial en la materia, pues creo que resulta muy enriquecedor para los alumnos.

Invitado especial

En la clase de hoy de Algoritmos y Programación 3, estará como invitado especial Mariano Martinez Peck, un joven ingeniero con quien tuve el gusto de trabajar tiempo atrás. Actualmente Mariano se encuentra haciendo un doctorado en Francia y aprovechando su visita al pais estará compartiendo con los alumnos de la materia su experiencia en el doctorado y también hablará un poco sobre Pharo y metaprogramación.

Como siempre, las clases son abiertas con lo cual los interesados pueden darse una vuelta por el aula 201 de la sede Paseo Colón de la Facultad de Ingeniería a partir de las 19.00 hs.

Nos vemos.

Culturas organizacionales

El pasado martes asistí a encuentro mesual de la comunidad ágil de Buenos Aires. El encuentro trató sobre Culturas Organizacionales y estuvo facilitado por Alan Cyment. Más allá del contenido del encuentro (que fue realmente interesante) me resultó muy entretenida la dinámica del encuentro. El encuentro comenzó con el juego del vampiro de Estraburgo y luego de una breve reflexión hicimos la dinámica de la tribus para exponer nuestras propias opiniones sobre “la definición de cultura organizacional”. Después de esto Alan hizo una introducción a la teoría de culturas organizacionales de William Schneider la cual estuvo seguida por una actividad que nos permitió llevar a teoría recien vista a nuestros casos particulares. Luego de esta breve actividad compartimos opiniones haciendo un fishbowl. Finalmente cerramos el encuentro con la votación del tema del próximo encuentro, el cual tratará sobre Recursos Humanos.

Para los interesados en saber algo más sobre el contenido de encuentro, puede ver este post de Rick Colusso.

Agile Open BAires 2010: Recusos Humanos

En el contexto del Agile Open Buenos del pasado marzo participé de una sesión sobre recursos humanos propuesta por Ingrid.

En primer lugar debo decir que me gustó mucho la dinámica utilizada: básicamente Ingrid propuso que comenzáramos haciendo un brainstorming de cualidades/habilidades deseables de la gente para trabajar en un ambiente ágil. Mientras haciamos el brainstorming ella iba tomando nota en el pizarrón. Una vez finalizado el brainstorming, repasamos cada una de las cualidades mencionadas e ibamos recomendando lecturas, técnicas y recursos varios, que cada uno había utilizado para trabajar sobre el punto en cuestión.

Entre las cualidades mencionadas estuvieron: creatividad, coraje, proactividad, compromiso, responsabilidad, espíritu de mejora, inquietud, sinceridad, confianza, compañerismo.

Good software design

Some time ago I read the book «The Art of Agile Development» by James Shore & Shane Warden and I found a statement that really caught my attention:

A good software design minimizes the time required to create, modify, and maintain the software while achieving acceptable runtime performance.

It seems pretty obvious but despite of that it shocked me. This definition leads to some interesting implications:

  • Design quality is people-sensitive: a design that assumes some language specific knowledge maybe incomprehensible for a programmer not familiar with that language. So, a good design should take this into account.
  • Design quality is change-specific: software is designed to be easily changed in some specific ways and naturally it will be harder to change it in a different way. One size does not fit all. So a good design should anticipates what changes will be required.
  • Modification and maintenance time is are more important than creation time: in most cases the life of a software is much more longer than the time you spend in the creating the software. Because of this you write code once, but it will be read/modified many times. So, a good design priories minimizing maintenance time  over minimizing creation time.

Based on the previous three points we could say that the design quality is unpredictable, because you don’t know who is going to maintain the software, you don’t know what changes will be required and you don’t know how much maintenance time will be required. Of course you can have some ideas about these three concerns and the more idea you have, the better your design could be.

I really like this vision. The debate is open.