Desarrollando aplicaciones de software con la regla del 50/50
Hace algún tiempo, en uno de esos momentos de sobrecarga de trabajo cuando uno decide ir a “dar una vuelta” a la Internet, encontré (un video publicitario de HP acerca de Stefan Sagmeister) que me llamó la atención.
Acá un extracto del inicio del video:
En mi vida, creo que la manera de seguir activo es realizar trabajos que, en parte, no sé cómo hacer. La mejor forma es trabajar con un 50/50: conozco la mitad, pero la otra mitad es nueva. Si sé cómo hacer un trabajo totalmente, me aburro muchísimo. Si no tengo ni idea de cómo hacerlo, me pongo demasiado nervioso. Así que la regla del 50/50 creo que funciona mejor conmigo.
En mi caso esto se ajusta bastante bien, y no creo que sea el único. Creo que esto es cierto en muchas áreas (sobre todo las que necesitan de grandes dosis de creatividad), pero donde yo veo que esta regla se aplica bastante bien es en el área de desarrollo de aplicaciones de software. Muchos programadores inician sus proyectos buscando utilizar las últimas tendencias en desarrollo, como por ejemplo frameworks que estén “de moda”, incorporar servicios de la Web 2.0 o técnicas de desarrollo web como por ejemplo Ajax, e incluso, nuevos lenguajes aún en desarrollo como lo es el HTML5. No estoy en contra de que se utilice uno o todos los puntos anteriores, por el contrario, estar al día en estas nuevas tendencias es muy necesario en nuestro medio, ya que no estarlo significaría quedar desactualizado y ejercer nuestro trabajo de una forma mediocre.
El problema radica en no conocerlas a detalle, y a la hora de un proyecto quedarse estancado en la etapa de su aprendizaje, o bien encontrando la forma de hacer que todas trabajen en conjunto. Lo se, me ha pasado a mi, y lo he visto en muchos proyectos en los que he participado en los cuales esto ha causado que muchos de ellos se retrasen, e incluso, se cancelen. Comenzar a trabajar con una herramienta que se conozca bien e ir añadiendo otras nuevas y desconocidas (o parcialmente desconocidas) en el camino creo que es la mejor estrategia. Esto no solo nos evita el stress de tener que aprender a utilizar nuevas herramientas y lenguajes en un tiempo reducido, si no que a la vez (como nos comenta Sagmeister) nos ayuda a evitar el camino hacia la monotonía teniendo además el efecto secundario de reducir el tiempo de inicio del proyecto.
¿Ustedes que opinan?