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:
- No hay cosas que no se puedan hacer.
- 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.
- Las certificaciones no garantizan idoneidad.
- 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.
- 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)
- 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.

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.
Baufest Scrum Conference 2006
En noviembre del año 2006 estuvo Jeff Sutherland en Argentina, el principal referente de la metodología ágil denominada Scrum. Su presencia fue posible gracias a la iniciativa de la consultora Baufest que celebraba sus quince años de existencia con la organización del evento denominado Baufest Scrum Conference 2006, donde el Dr. Sutherland disertó sobre los principios básicos de la metodología Scrum y cómo aplicarla al desarrollo de proyectos de software. También dictó un curso arancelado para otorgar la certificación de Scrum Master.
Tuve la oportunidad de asistir a la charla abierta introductoria a la metodología. No voy a hacer aquí un resumen de lo que es Scrum, hay muchos tutoriales y documentación en la web, incluso existe un libro en castellano que se puede descargar gratuitamente en formato PDF (se llama Flexibilidad con Scrum) y otro en inglés, también gratuito y en PDF, muy recomendable porque aborda el tema de manera mucho más práctica llamado Scrum and XP from the Trenches.
Quería comentar que tan interesante como la prolija exposición de Sutherland fue observar la actitud conservadora de los project managers, gerentes de tecnología y líderes de proyecto que estaban presentes. En general se notaban bastante reacios a creer en la posibilidad de adoptar y adaptar la metodología en sus equipos de trabajo.
“Just give it a try!”
era el consejo Sutherland, pedía que probaran un par de meses y se iban a convencer de que funciona. Comparaba a los equipos Scrum con los equipos de fútbol. Decía que no necesariamente todos los jugadores son habilidosos, pero igual el equipo puede ganar y jugar bien. Cuando los asistentes preguntaron si un equipo que funcionara de esa manera tenía que tener todos integrantes senior respondió que no y puso como ejemplo aquellos equipos que tenían jugadores que no eran buenos o eran muy noveles y aún así se integraban al funcionamiento de equipos exitosos… ¿Pero y si algún miembro del equipo no se adapta? ¿Si no se enmarca en las prácticas adoptadas de las que propone la metodología? Volvamos a la comparación con los equipos de fútbol -señalaba-, si un equipo tiene un jugador que no se adapta al esquema de juego colectivo, el técnico usualmente lo saca del equipo. Silencio de la sorprendida concurrencia ante una respuesta de puro sentido común…
La exposición de Sutherland fue muy interesante y enriquecedora para cualquiera que está involucrado en el desarrollo de software. Aún así debemos mencionar un aspecto negativo del evento. En un comentario sobre los Sun Tech Days en Buenos Aires mencioné que algunas de las charlas patrocinadas por los sponsors eran intrusivas en la agenda del evento. En este evento se manifestó el mismo problema, agravado por el hecho de que la presentación del sponsor trataba un tópico que era casi la antítesis de lo que trababa la charla principal: una herramienta para manejo de proyectos, requerimientos, casos de uso, etc., etc., completamente en oposición a la práctica de viajar liviano de equipaje (“travel light”) que proponen las metodologías ágiles como Scrum. Los ejemplos que se daban en esa exposición eran una celebración de la burocracia en la construcción de software en su máxima expresión, con la intención de vender esa herramienta (no estoy seguro de recordar acertadamente ni al sponsor ni a la herramienta por eso no los menciono).
El balance general del evento es muy positivo y hay que agradecer a Baufest por traer a un orador que es un referente importante para la comunidad de desarrolladores de software. La crítica previa sólo apunta a proponer mejoras para próximos eventos.
Se pueden consultar los materiales de la conferencia para repasar los tópicos que trató el Dr. Sutherland.










