User Stories Dojo en Ágiles@BsAs

Como todos los segundos martes de cada mes, el pasado 10 de mayo se realizó una nueva reunión del grupo de usuarios de metodologías ágiles de desarrollo de software de Buenos Aires (Ágiles@BsAs) . En esta oportunidad el motivo central de la convocatoria fue hacer un User Stories Dojo. El encuentro se realizó en las oficinas de Southworks y fue facilitado por Ricardo Colusso y Andrés Mumenthaler.

La invitación al evento había sido realizada utilizando el formato más clásico para escribir user stories:

Luego de hacer el CSM con Alan Cyment en Octubre de 2010 empecé a participar en las listas de la comunidad ágil latinoamericana y tenía ganas de asistir a estos encuentros pero por distintos motivos aún no había podido hacerlo. Sólo había podido asistir al Agile Open Tour sobre Organizaciones Inteligentes, que comenté en un post anterior.

Cinturón verde El evento comenzó con una autoregistración: nos colocamos un post-it con nuestro nombre de pila a modo de credencial, con la particularidad de que el color que utilizamos para escribir revelaba nuestra experiencia con user stories: verde para los novatos, marrón para un conocimiento intermedio y negro para los más experimentados (yo me registré como “cinturón verde”). Luego nos presentamos todos, contando qué roles cumplimos en nuestro trabajo habitual (me gustó la autodefinición de Martín Salías: “soy como una especie de fastix que usan para tapar agujeros”). Como elemento adicional a la autopresentación además se nos pidió que señalarámos una característica o virtud que valoremos mucho en la gente con la que trabajamos, la principal que hace que valoremos a un compañero de trabajo y lo respetemos. En mi caso señalé que lo que más valoro en un desarrollador es la capacidad de estar permanentemente aprendiendo, siguiendo un proceso de autoformación permanente, cualidad que he visto en pocos compañeros de trabajo a lo largo de mi carrera, lo cual hace que valore más aún a los pocos que encontré con esas cualidades (Fernando S., Rodrigo P., Osvaldo D.C y creo que ahí ya tengo que parar de contar).

Lo más enriquecedor de la sesión fue poner en práctica la escritura de user stories, que era el motivo que nos había convocado. Se abordó un enunciado de ejemplo, referido a la construcción de un portal para amantes del vino y trabajamos colaborativamente para ir escribiendo user stories, las discutimos y fuimos refinando el backlog. Para esa actividad nos dividimos en varios grupos, teniendo siempre un cinturón negro en cada grupo para facilitar el proceso.

El balance de esta experiencia es muy positivo. Ponerse a trabajar en algo con un grupo de personas que en muchos casos es la primera vez que vemos o que incluso no se dedica a desarrollo de sistemas y generar una dinámica donde el tiempo se pasa volando y la participación colectiva genera resultados visibles es algo muy valorable. También hay que destacar que como parte de la propia mecánica de trabajo se generan pequeños debates que finalmente amplían el conocimiento de todos respecto del tema que nos convocó. En conclusión, fue muy enriquecedor participar del dojo.

Un dato extra -que para muchos puede ser no menor- es que comprobé que la gente de Agiles@BsAs suscribe la máxima “Never understimate the value of beer” y ahora entiendo que es natural que esté Martín Salías en un coding dojo con una cerveza en la mano :)

Certezas personales respecto del desarrollo de software

Recuerdo que cuando empecé a trabajar en la industria del desarrollo de software ante determinados requerimientos pensaba que no había forma de resolverlos. Luego la experiencia me hizo aprender que en informática no hay cosas que no se puedan hacer. A veces puede ser muy costoso resolver algo, en tiempo, dinero o recursos necesarios, pero no imposible. Cuando llegué a esa conclusión personal me di cuenta que a partir de ese momento para mí iba a ser un hecho siempre verdadero que cualquier cosa se puede resolver.

Varios años después de haber llegado a esa conclusión inicial, he sumado algunas ideas más, que considero son siempre verdaderas. Mi lista actual es ésta:

  1. No hay cosas que no se puedan hacer.
  2. El desarrollo de software es una actividad social. Por esa misma razón, la mayoría de los problemas en los proyectos de desarrollo de software están motivados por las personas, no por las tecnologías.
  3. Las certificaciones no garantizan idoneidad.
  4. Para entender algo cabalmente es necesario experimentarlo, el conocimiento que no está acompañado de la práctica tiene menos valor que el destilado por la experiencia concreta.
  5. Es muy difícil encontrar en la industria gente con formación sólida en el paradigma de objetos. (me refiero a la industria argentina)
  6. La inversión que hacen las empresas en productos de bases de datos relacionales es tan grande que no se puede evitar tener que tratar con ellas.

La más importante de éstas certezas es la segunda. Sospecho que incluso le debe ser aplicable la famosa regla de Pareto: creo que el 80% de los problemas en proyectos de software están relacionados con las personas y sólo el 20% con aspectos tecnológicos. Cuando me convencí de eso dejé de leer libros puramente técnicos y comencé a leer mucho sobre negociación, resolución de conflictos, coaching, liderazgo, management, marketing… con la intención de desarrollar lo que se llama a veces “habilidades blandas”, para estar mejor preparado para trabajar en proyectos de IT. Con el tiempo todas esas lecturas no técnicas se han transformado en un gran capital que he adqurido y que para lo que hago actualmente han sido fundamentales.

Supongo que dentro de algunos años si reviso esta lista de mis verdades cuasi-irrefutables, me voy a dar cuenta que tengo que agregar algo más. Actualmente estoy dando mis primeros pasos en la utilización de Scrum y en trabajar como agente de cambio para facilitar la adopción de formas más ágiles de trabajar en una organización muy tradicional. Estoy convencido que hay un espíritu subyacente a Scrum y a las metodologías ágiles que hace que funcionen. Si bien es algo que en principio se relaciona con el tema de que el desarrollo de software es una actividad social, creo que tiene su propia especificidad. Todavía no puedo enunciar cuál es, pero sospecho que algún día podré agregarla a mi lista…

Agile Open: Organizaciones flexibles

Se realizó el 15 de Marzo de 2011 en la Universidad de Palermo el Agile Open sobre Organizaciones Flexibles, concebido como la primera reunión sobre “Organizaciones flexibles. Construyendo ámbitos colaborativos y productivos. Un espacio ágil para RRHH”. Organizó esta jornada la Asociación de Recursos Humanos de la Argentina y fue facilitada por la gente de la comunidad ágil local, nucleada en Agiles.org. Los asistentes participaron activamente en la configuración de los tópicos que se abordaron, dado que la agenda se armó entre todos utilizando la metodología conocida como open space.

Personalmente hace algunos meses que estoy muy interesado en sumarme a este tipo de eventos de la comunidad ágil local pero por distintos motivos aún no había podido asistir a ninguna de las reuniones que se realizan periódicamente. En particular tenía mucho interés en experimentar el funcionamiento de un open space y pude hacerlo en este evento. Realmente es una dinámica que funciona muy bien, la gente se involucra en el diseño del temario, aunque en este caso concreto el espacio físico disponible para realizarlo no era el óptimo.

Al inicio del evento los facilitadores explicaron la dinámica de un open space, luego se hizo la actividad de identificación de tribus, se propusieron sesiones, se hizo la votación, se armaron los tracks, y luego vinieron las charlas, las experiencias compartidas, los debates, las preguntas y los análisis que trataban de vincular la gestión de recursos humanos en las empresas con la adopción de prácticas ágiles.

El primer track que se armó estaba planteado como un espacio para poner en común lo que representa el concepto de ágil dado que muchos de los asistentes querían saber qué es ser ágil, de dónde viene todo ésto, en qué formas se puede implementar y muchos otros interrogantes en esa línea de querer saber qué es… Hubo un track paralelo a ese, creo que referido a la gestión de la capacitación vinculada con la incorporación del concepto de desarrollo ágil y sus efectos en los departamentos de RRHH (certificaciones, búsquedas, formación). Digo “creo” que esos eran los tópicos porque es lo que recuerdo de las charlas al armar la agenda, aunque por la propia dinámica de trabajo pudo haber terminado siendo algo un poco distinto en su desarrollo. Yo me quedé todo el tiempo en el track introductorio, para ver las inquietudes que tenía la gente.

Haciendo un balance, creo que lo único negativo es que tal vez en algunas de las sesiones había un bajo nivel de interacción y había cosas que se planteaban que eran interesantes pero que no se desarrollaban más ampliamente por todos y en algunos casos derivaron en otras cuestiones que bordeaban el off topic. También me llamó la atención que en un evento sobre organizaciones flexibles a nadie se le haya ocurrido mencionar el libro “La quinta disciplina” de Peter Senge, que es un gran aporte para pensar las organizaciones rompiendo con los paradigmas tradicionales.

Lo que me pareció más positivo es el hecho de que un grupo bastante numeroso de gente, seguramente acostumbrados a ir a disertaciones donde hay que sentarse a escuchar a alguien y eventualmente hacer preguntas al final, en esta jornada vivió la experiencia de un open space y de un ámbito autogestionado y más dinámico, lo cual está en sintonía con la temática propuesta para el evento. Otra cosa positiva para destacar fue la sesión para charlar sobre Kanban (facilitada por Ingrid Astiz y Ricardo Colusso) porque fue muy concreta y focalizada, y creo que de todo el evento representó el tiempo mejor invertido para los que asistimos a ella. También es un aspecto positivo a destacar que uno de los sponsors, Kleer, haya sorteado diez vacantes para un curso de Introducción a Scrum.
Aviso del evento en las carteleras de la UP
Antes de irme les pregunté sus nombres a los facilitadores para asociar los nombres/mails de la lista agiles-argentina con las caras correspondientes, ya que al único que “conocía” era a Juan Gabardini por el video de la charla “¿Existe la mejor forma de probar?”.

Personalmente creo que fue muy positivo invertir 4 ó 5 horas en este evento para seguir aprendiendo sobre prácticas ágiles. Estoy esperando con mucho interés las próximas reuniones del Agile Open Tour y la 4ta edición de la Conferencia Latinoamericana sobre Metodologías Ágiles, Ágiles 2011.

Reseña de Motodev Summit Argentina 2010

Motorola fue la primera empresa en lanzar smartphones con Android en Argentina (el Milestone en noviembre del 2009). Luego incorporaron un par de equipos más, y planean de aquí a fin de año lanzar siete modelos más, comenzando en la gama alta pero también llegando de a poco a una gama más accesible de productos.

El 30 de Abril de 2010 la empresa organizó en Buenos Aires el evento denominado Motodev Summit Argentina 2010. La jornada argentina fue la parada local de un tour que también llevó el evento a México, Brasil, China y Estados Unidos.
Logo de Motodev Summit Argentina 2010
Motodev Summit es un evento de un día diseñado para brindar acceso a todo lo que se necesita para desarrollar con Android: herramientas, asesoramiento, conocimiento sobre como llegar al mercado y soporte de la comunidad. El mensaje más importante del evento es que Motorola y el programa Motodev están comprometidos al éxito de Android como plataforma y de los desarrolladores que la utilizan.

En 2008 la compañía tomó la decisión de usar Android como plataforma y todo lo que es su portfolio de teléfonos está basado en esa plataforma. ¿Por qué Motorola eligió Android como sistema operativo para su línea de smartphones? La idea estratégica era apuntar a una plataforma abierta, a un sistema abierto, a un ecosistema abierto… Con esa definición estratégica para la compañía resultó fácil elegir Android, afirmaron al comienzo del evento.

Algunos números que sustentan la decisión de la compañía: Los smartphone hoy representan el 15 % del mercado y llegará al 25% en los próximos 2 años. El año pasado tuvieron un crecimiento del 70%. En Estados Unidos el 30% de los usuarios tienen pensado comprar un smartphone con Android como su próximo teléfono, por sobre IPhone o BlackBerry.

Destacaron que la compañía cada año implementa nuevos programas y nuevas oportunidades para crecer con los desarrolladores. En ese marco, Motodev representa la invitación de Motorola a la comunidad de desarrolladores (“Estamos aqui para decirles “Bienvenidos!” a nuestra familia de más de 1.5 millones de desarrolladores mundiales…”).

Señalaron que aunque el concepto de smartphone existe en el mercado desde hace años hoy está cambiando y ya no sólo es diferenciador una interfaz de usuario sexy. Hoy se demanda que sean más “smart”, y eso representa oportunidades tanto para los desarrolladores como para los vendedores de equipos.

“Yo conozco a Motorola, y a mí me conocen… Este producto está instalado en mi vida, me conoce, me ayuda…” El consumidor se identifica con el producto a partir de esas premisas. Es una visión muy amplia, pero que tiene muchos problemas para hacerse realidad, es simple hacer un powerpoint pero es difícil crear esa visión en la realidad. Hoy en día no es suficiente con tener un producto sexy, el producto tiene que conocer a la persona… Para lograr esa visión se necesita el éxito y el compromiso de la comunidad de desarrolladores. La compañía apunta a ayudarlos a tener éxito.

El evento estaba divido en un track de negocios y un track paralelo para desarrolladores. Yo estuve presente básicamente en las charlas de éste último y fueron muy interesantes.

Lo positivo del evento es que fue útil para ponerse en contacto con tópicos relacionados con Android si uno no tiene mucho tiempo para estar investigando por su cuenta. Las charlas técnicas fueron interesantes y el carisma de John Ellis (Director of Worldwide Carrier Business Development within Motorola’s Ecosystem and Software Services team) hizo un gran trabajo para que los asistentes se pongan la camiseta de Android y Motorola… Además es un punto a favor del evento que haya estado en Argentina siendo parte de una iniciativa más global (son escasos los ejemplos de este tipo de inclusión, lamentablemente para los desarrolladores locales que no tienen oportunidades de viajar). Quiero destacar entre lo positivo en particular la charla de tips para desarrollo de interfaces de usuario que dio Suzanne Alexandra, en mi opinión fue la mejor de las presentaciones.

Lo negativo del evento es que alguna charla de negocios parecía armada entre amigos para intercambiar elogios, y la falta de wi-fi gratuito para poder tweetear lo que estaba ocurriendo en el evento.

El hashtag del evento en Twitter fue #mdsar10 y los interesados en desarrollar con Android deben visitar el sitio http://developer.motorola.com/ para estar al tanto de las novedades que impulsa la empresa. También tienen un grupo para seguir en Facebook.