Monthly Archive for October, 2009

Nuevo Podcast: Personas, equipos, talento y agilidad

Equipo Ágil

Equipo Ágil

En nuestro podcast más internacional, Claudia Ruata (Argentina), Juan Palacio (España), Raúl Uribe (Peru), David Alfaro (Costa Rica) y Agustín Villena (Chile) conversan acerca de la importancia de las personas en el mundo ágil, y de experiencias en empresas de espíritu ágil al respecto.
Tambien disponiblen en la zona de Open Knowledge de ScrumManager

También lo pueden descargar de acá

Ágiles 2009 – Florianópolis, Brasil

agiles_2009

Hace ya una semana se realizó el evento Agiles 2009: Jornadas Latinoamericanas en Brasil. Tuve la oportunidad de asistir y participar como speaker en la sección de Experiencias (aquí mi presentación). Como muchos saben, el Agiles 2010 será en Lima, Perú. El que escribe forma parte del grupo de organización local de este futuro evento.

Tomando en cuenta lo antes mencionado y con la intención de redactar aquí algo que tal vez nos sirva a los organizadores del Agiles 2010, es que a continuación quisiera dar un breve análisis del evento Agiles 2009 comentando aquellas cosas que me gustaron, aquellas que me fascinaron y aquellas que cambiaría.

Pues veamos, empecemos por…

El lugar:

Para ser sincero, el lugar me encantó, y no tanto por lo moderno o lujoso sino por la arquitectura que tenia el San José, era simplemente una especie de coliseo con un gran auditorio en medio y 3 aulas para unas 30 o 40 personas a cada lado (en total 6 aulas). Me pareció formidable para el esquema de Agiles debido a que mantenía a toda la gente concentrada en un sólo punto y con un panorama claro de la ubicación de cada charla. Además, era mucho más fácil a la salida de cada sesión encontrarse con amigos y conocer gente, ya que todos salían hacia el centro del auditorio central.

Los speakers:

Aquí hay que hacer una separación, los speakers invitados (que hacen los keynotes) y los speakers seleccionados (que enviaron sus ponencias y fueron escogidos).

Speakers Invitados:

Brian Marick: Franqueza total, brillante y con buen sentido del humor, me gustó su keynote en el que lanzó la idea que debemos de dejar de analizar las cosas por partes y verlas como un todo incluyendo a todo el universo que está implicado en un problema específico, guiándonos hasta por la intuición. Muy bueno.

Diana Larsen: La mujer de las retrospectivas. He leído su libro, me parece que es una socióloga (corrijanme, si me equivoco) bastante hábil que encontró un nicho prometedor en el mundo del software. Me gustó mucho la última retrospectiva personal en el que atacó al público con una serie de preguntas que cada uno tenía que hacerse a sí mismo y te hacían pensar en porque realmente estabas ahí y si de verdad te sirvió o no el evento.

No pude asistir a charlas del resto de speakers, pero pude hablar con algunos de ellos, en conclusión hubieron muy buenos speakers invitados, que cumplieron con darle ese toque  ”internacional” al evento. Aquí también comentar lo que dijo Brian al final, él dijo que le gustaría mucho que para el próximo evento los Keynotes sean dados por gente propia de la comunidad latinoamericana y que no tengamos que invitar a personajes internacionales para que vengan a dar los Keynotes. Incluso dijo que estaría encantado de asesorar a  esa persona de la comunidad Latinoamericana para el próximo evento. Interesante, no?

Speakers Seleccionados:

Encontré de todo, desde sesiones brillantes y con ideas realmente motivantes hasta sesiones bastante flojas que te hacían preguntarte si te habías equivocado al entrar ahí. =S

Encuentro que este es un factor de riesgo siempre existente en eventos de este tipo, se hace muy complicado encontrar una forma de realmente corroborar la calidad de cada sesión. Por lo pronto, me parece que podríamos ir implementando lo que se hizo en el Agiles 2009 en Chicago donde se tomaba una encuesta para cada sesión y con esto se podía luego tener un registro y ranking del expositor para futuros eventos.

Lo resaltante en el evento:

Desde mi punto de vista, la evolución de la camaradería entre los asistentes a comparación del Agiles 2008.

Claro, tomando en cuenta que muchos se reecontraban luego de haber asistido al evento del año pasado. Pero aún así, encuentro que la comunidad latinoamericana va conociendose, confiando unos en otros y eso hace que surgan ideas e iniciativas (tal vez distribuidas) que en suma no hacen más que potenciar la velocidad a la que nosotros los latinoamericanos vamos entrando en el mundo Ágil como una presencia cada vez más madura y una comunidad que puede aportar conocimiento significativo hacia la evolución de esta filosofía Agil.

El real fin:

Bueno, aquí viene una opinión completamente personal acerca de lo que debería de buscar realmente este evento.

Agile para mí, fue el mejor pretexto para alinear una búsqueda mucho más trascendental y humana con el mundo del software en el que ando metido desde hace unos años. Tomando en cuenta esto, veo tres frentes que debería de cubrir un evento de este tipo:

1. Agile (Generación de conocimiento, Intercambio de experiencias en torno al tema central: Metodologías Agiles)

2. Difusión Cultural del lugar donde se desenvuelve el Evento. (La localidad debería dar a conocer algo más acerca de su cultura, música, manifestaciones artísticas, etc.)

3. Intercambio Humano. (Parte de la organización del evento debería de ser el fomentar vías para que las personas interactúen más, dentro y fuera del evento, dando medios y lugares donde esto se pueda dar).

Aquí mi reporte para Chile Agil acerca del evento Agiles 2009, espero sea de su agrado.

Además, invitar a todos nuestros amigos de Chile al Agiles 2010 ha desarrollarse en Lima,  estoy a su entera disposición para encontrar la manera más viable de traer a la mayor cantidad de hermanos Chilenos aquí. Un abrazo a todos.

Fecha Adicional para Focus Group para PYMES Informáticas DCC U. de Chile

logo_dccCon respecto a la invitación a participar de un focus group por parte del DCC de la Universidad de Chile, dentro del contexto de un estudio para definir las dificultades de las PYMes Informáticas en Chile, se han definido una nueva fecha adicional para aquellas empresas que tengan problemas de agenda en la fecha original.

De esta forma, se realizarán dos focus groups:

  • jueves 22 de octubre
  • jueves 29 de octubre

Los interesados se pueden escribir en este formulario

Próxima reunión ChileAgil: Martes 20 de Octubre en Continuum

Amigos:

Gracias a la fiebre futbolera tuvimos que correr nuestra reunión tri-semanal, y hemos acordado realizarla este próximo martes 20  a las 19:00 hrs donde nuestros anfitriones de Continuum.cl

Más información en el grupo de chileagil

Extreme Programmer

Extreme Programmer

JRuby on Rails al rescate de JEE

Java como la conocemos hoy es una plataforma excelente para soportar aplicaciones, tiene un envidiable manejo de los recursos, en especial de la memoria, hace un excelente manejo de threads, cuenta con una gigante comunidad de desarrolladores que están constantemente escribiendo extensiones para el lenguaje y por otro lado tiene un comite serio que se preocupa de la estandarización constante de sus APIs.

Java Enterprise Edition (JEE) fue la apuesta de Sun por el mercado de la Web y las aplicaciones empresariales, pero fue diseñado de la misma forma que el lenguaje (muy seriamente :P ) para una estructura dinámica (la web). Crearon un mostro para crear aplicaciones para un modelo donde la norma es construir y liberar rápido, y luego crecer en forma incremental y  dinámica, entonces, JEE no es una buena plataforma para construir aplicaciones Web.

La motivación detrás de esta charla presentada en “Jornadas regionales del Software Libre 2009” y que será repetida (con algunas mejoras) en “Encuentro Linux, los 10 años” es usar Java como plataforma de soporte y  re-usar “la parte buena de JEE” colocando a los lenguajes dinámicos (particularmente Ruby y su implementación en java JRuby) encima como plataforma de desarrollo de aplicaciones Web.

En los slides de la charla se ven ejemplos de desarrollos entre Java y Ruby, y al final (que no sale en los slides) se hace una demo de una aplicación web construida en pocas horas usando JRuby on Rails: “Ruby on Rails sobre la JVM” instalando la aplicación en un servidor de aplicaciones tipo TOMCAT.

Nota: Si no estuviste allí, aún tienes la opurtunidad de ver la charla participando de “Encuentro Linux” a celebrarse en Valparaiso los días 22, 23, y 24 de Octubre :D .

Presentación JRSL 09: Opensource para Windows

Esta presentación, la hice con motivo de las Jornadas Regionales de Software Libre 2009. En ella hablé acerca de cómo el Opensource sobre Windows es una alternativa para posicionar el Opensource entre los usuarios finales sin necesariamente pasarlos a un sistema operativo abierto.

La presentación fue hecha con OpenOffice.org 3.X para Windows y Linux. El audio lo hice en casa, posterior a la presentación, con Audacity para Windows. De acuerdo con los requerimientos de los organizadores, y para fomentar la cultura libre, esta presentación está publicada bajo licencia Creative Commons Atribución-No Comercial-Sin Derivadas 2.0 Chile. Gracias a Agustín por el espacio para publicar mi presentación :D

Jython: Desarrollo ágil en la plataforma Java (Parte 1)

Jython es la implementación del lenguaje Python para la plataforma Java, que con el correr del tiempo y gracias a los esfuerzos de distintos proyectos open source, se ha convertido en la plataforma multilenguaje abierta más importante. La Máquina Virtual de Java hace tiempo que ya no sólo ejecuta código escrito en Java: Python, Ruby, JavaScript, Scala, Clojure, Groovy y JavaFX Script son algunos de los lenguajes con una implementación madura integrada en la plataforma Java.

El lenguaje Python, por otra parte, es uno de los lenguajes dinámicos más populares y cuenta con el respaldo de gigantes de la industria como Google.

OK, ¿pero de qué le sirve esto a quienes están intentando usar técnicas o metodologías ágiles en el desarrollo de software? En esta serie de artículos daré algunos tips de como incorporar Jython para apoyar la agilidad en el desarrollo.

Doctest

La primera utilidad de Jython está en hacer que el testing de aplicaciones Java sea menos doloroso. Ya saben, incluso cuando uno está convencido de que es mejor escribir pruebas automáticas es una buena idea, no deja de ser una tarea que a veces se torna aburrida, especialmente si el lenguaje de programación no ayuda mucho. A veces estamos forzados a usar Java como lenguaje de desarrollo, pero el testing es algo en que contamos con libertad, por lo que se puede usar un lenguaje más flexible para esta tarea.

En Python, además de unittest (el clásico framework inspirado en JUnit), se cuenta con doctest, un interesante framework de testing que permite mezclar documentación con tests y que facilita la creación de tests a partir de sesiones con el intérprete de Python. Al usar Jython podemos utilizar este framework para verificar código escrito en Java. Por ejemplo, el siguiente fragmento, además de servir como ejemplo de uso de una hipotética librería para manejar RUTs escrita en Java, es un test ejecutable para doctest:

"""
>>> from milibreriajava.utils import Rut

La clase Rut recibe dos argumentos en su constructor: el número y el verificador:

>>> r = Rut(11111111, '1')
>>> r.toString()
"11111111-1"
>>> r.getVerificador()
'1'
>>> r.getNumero()
11111111
>>> r.isRutEmpresa()
False

En caso que no se indique el verificador, es calculado automáticamente:

>>> Rut(11111111).getVerificador()
'1'

Pero en caso que se indique y sea inválido, se lanza una excepción:

>>> Rut(11111111, '2')
Traceback (most recent call last):
...
milibreriajava.utils.RutInvalidoException: Verificador incorrecto

Tampoco se aceptan un RUT igual o mayor a 100 millones:

>>> Rut(100000000)
Traceback (most recent call last):
...
milibreriajava.utils.RutInvalidoException: Fuera de Rango
"""
if __name__ == "__main__":
    import doctest
    doctest.testmod()

Si el fragmento anterior se ha guardado en un archivo llamado “test_rut.py”, ara ejecutar este test si se tiene instalado Jython basta con:

$ CLASSPATH=/classpath/de/milibreriajava/ jython test_rut.py

O si se usa Windows:

> set CLASSPATH=\classpath\de\milibreriajava\
> jython test_rut.py

Es común decir que los tests unitarios son especificaciones ejecutables. Sin embargo, y a menos que el código sea muy explicativo, no suele ser fácil inferir la razón de los tests. Mi punto es: suele ser fácil entender qué se está testeando, pero no por qué. Doctest por otra parte permite una mezcla mas fluida entre código y descripciones textuales, lo que lo hace ideal para crear especificaciones ejecutables mas mantenibles.

¿Y qué más?

Por supuesto que hay más maneras de usar Jython junto con técnicas ágiles de desarrollo que serán vistas en futuras entregas de esta serie. Para los impacientes, pueden ver la presentación que expuse en las Jornadas Regionales del Software Libre 2009 (o descargarla en PDF si lo prefieren), bajarse el código fuente de las demos y darle una mirada al libro de Jython que se está desarrollando bajo una licencia Creative Commons y que será publicado por Apress, y del cual soy parte del equipo de autores :)

PD: Si algún lector de ChileÁgil estuvo en la audiencia de esta presentación y piensa también asistir al Encuentro Linux me gustaría escuchar en qué área le gustaría ver más demos (o tal vez que demos le gustaría ver con mucho mayor detalles). ¡Gracias!

Invitación del DCC de Universidad de Chile a Focus Group sobre PYMEs Informáticas

EL DCC de la Universidad de Chile está haciendo un estudio de diagnóstico sobre el proceso de requisitos (y un poco más) en proyectos de software chilenos. Estamos interesados sólo en empresas u organizaciones pequeñas (hasta 15 desarrolladores).
logo_dcc
Como la mayor cantidad de organizaciones asociados a ChileAgil cumple con este requisito, nos han invitado a un focus group el Jueves 22 de Octubre de 19:00 a 20:00 en Blanco Encalada 2120 Cuarto Piso (mapa acá http://tinyurl.com/yl6z6gc). La idea es juntar a unos 6 o 7 representantes de empresas ….habrá pizza y coca-cola.

Agradecemos a quienes se interesen a participar de esta actividad a inscribirse en este formulario http://tinyurl.com/ygyyc5c

Charla: La Cultura Ágil y su ecosistema (versión JRSL 2009)

mundo_manosHoy tuve el honor de participar en las Jornadas Regionales de Software Libre que se realizan en estos días en Santiago de Chile. El tema de mi charla fue “La Cultura Ágil y sus ecosistema”, en donde busco presentar que, frente al difícil desafío del desarrollo de software, la agilidad propone una mirada profunda que va más allá de métodos, procesos y prácticas, sino que entra en la definición de valores y principios para orientar a las personas hacia el modelo flexible, humano y de calidad del software hecho “a la manera ágil”.

El público fue de unas 70 personas con las que tuve un interesante diálogo. En un encuentro como este lleno del idealismo del Software Libre, era importante que el hermano-en-el-corazón Ágil estuviese presente. Más aún, aproveché de presentar este híbrido entre Agilidad y el mundo Open que es ScrumManager, iniciativa que está tomando vuelo en el mundo hispanoamericano.

Usen esta presentación como una guía para adentrarse en el mundo de la agilidad, en especial sus valores y el intrincado ecosistema del que esta compuesto.

Podcast: Implicaciones de la agilidad en la gestión de la empresa

Claudia Ruata, Juan Palacio y Agustín Villena, conversan sobre las implicaciones que la adopción de la agilidad tiene en todas las áreas de gestión de la empresa, más allá de los proyectos y del área técnica.
Entre otros temas:

  • la difícil relación con el área comercial
  • la tentación de agilizar por moda
  • la gestión orientada al equipo versus la tradicional, que mide individuos

También lo pueden descargar de aquí, y además encontrarlo en la zona de Open Knowledge de ScrumManager