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…

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.

Seis APIs de Google para Don Isidro Parodi

El 15 de mayo de 2007 la consultora Globant realizó un evento denominado Globant Tech Upate, promocionado como una jornada donde se presentaría lo último en metodologías de desarrollo.
Banner de Globant Tech Update
Luego de la introducción y bienvenida a los asistentes que realizó Guibert Englebienne, CTO de Globant, hubo una presentación llamada “Agile methodologies and lean software development at Globant” donde el PM Ricardo Moral contó como se trabaja en los proyectos de la compañía.

Luego el evento contó con la exclusiva participación de Patrick Chanezon, Google API Evangelist, que realizó una presentación llamada: “Six Google APIs for Don Isidro Parodi. Let’s help Don Isidro build a better web site using 6 Google APIs”. La charla trató sobre Ajax Search, Maps, Google Data, KML, Google Checkout, Google Web Toolkit, un temario muy interesante…

Lo positivo:

Lo negativo:

Está disponible en el sitio de Globant una home page del evento. Allí pueden encontrar una descripción, la agenda y repasar el contenido descargando los slides.

Los mejores videos sobre tópicos informáticos

Después de varias semanas sin escribir -por falta de tiempo- aprovecho para difundir un sitio que me pareció muy útil para la gente que trabaja en desarrollo de sistemas. Se llama Best Tech Videos.

Best Tech Videos (http://www.bestechvideos.com) es un web site cuyo contenido es generado de manera social por su comunidad de usuarios. El objetivo del sitio es seleccionar y organizar los mejores videos educativos para desarrolladores, diseñadores, managers y personas relacionadas con el mundo IT.  Los desarrolladores podemos encontrar aquí videos de conferencias recientes o entrevistas a personalidades dentro de la comunidad, lo cual lo vuelve muy interesante y realmente útil.

El contenido que se envía al sitio es provisto por la comunidad de usuarios registrados. En este momento el sitio ya tiene casi 7000 videos. Cuando se envía la referencia a algún video éste es verificado y aprobado por alguno de los moderadores (que son miembros activos de la comunidad), con lo cual se mantiene un nivel de calidad e interés en el material. Luego de aprobado, el video se torna visible para los demás usuarios, se lo puede votar, discutir o guardarlo como favorito. Además, los videos más populares son automáticamente promovidos a la página principal del sitio.

Un sitio recomendable para tener en los favoritos…

Como dato curioso, tiene un sitio hermano, análogo a éste pero dedicado a la cocina, llamado Best Cooking Videos on The Net :)