Una de las partes más emocionantes en el ciclo de vida de un proyecto para un desarrollador es sin lugar a dudas el inicio de la codificación del mismo. Tan emocionante que pasamos años antes de darnos cuenta de la importantísima tarea de planificar y prever todas las aristas y posibles riesgos que puedan aparecer más adelante.

Conforme pasan los años, quisiera creer que la mayoría entiende y aprecia las bondades de no saltarse la crítica tarea de intentar visualizar el rumbo que tomará el proyecto y planificará acorde a ello. Y es que la práctica me ha enseñado una y otra vez que no importa qué tan bien se haya hecho la planificación, la realidad indudablemente superará cualquier intento de prever el crecimiento de una aplicación. No significa que el ejercicio de planificar haya sido efímero, más bien significa que a pesar del crecimiento del proyecto y todas las incógnitas que no pudimos prever, nuestro plan maestro hizo lo necesario para estar lo mejor preparado que se pueda estar ante la mayoría de eventualidades.

En los últimos proyectos que he tenido la oportunidad de emprender me he tomado un tiempo prudente para tomar en consideración factores que hace 4 ó 5 proyectos ni sabía que tenía que considerar. Me llené de confianza y entusiasmo al darme cuenta que cada proyecto nuevo es una oportunidad para hacer uso del aprendizaje adquirido en iteraciones pasadas, se vuelve un ejercicio repetitivo donde cada nueva iteración debiera ser un poco más compleja y al mismo tiempo mucho más preparada que la anterior. Y sin embargo cada vez me doy cuenta de factores que obvié o sencillamente ignoraba del ejercicio anterior. Lejos de ser un disuasivo, debe servirnos de oportunidad para estar siempre atentos a los nuevos aprendizajes y lecciones que cada proyecto trae a la mesa.

El proyecto que ocupa la mayor parte de mi tiempo por estos días lleva más de un año desde que se iniciaron las tareas de planificación y poco más de 3 meses desde que saliera en su primera versión oficial en productivo. Antes de ello pasó unos 6 meses en versión beta y salidas en falso. Con casi década y media de experiencia a cuestas cualquiera hubiera creído que levantar un proyecto de mediana envergadura sería una cuestión de semanas, meses exagerando, pero la realidad es completamente distinta. Nunca dejas de aprender, pero más importante aún, cada proyecto es diferente al anterior y trae sus duras lecciones y realidades. No existe tal cosa como el copy and paste que te permite tomar la base de algo que ya has hecho antes y extenderlo para salir en caballo blanco con el siguiente proyecto.

Escribir el código pareciera ser la parte más divertida de cualquier proyecto, y en la práctica usualmente lo es. Se convierte en pesadilla cuando no existe una planificación y entramos en modo pánico y emergencia al encontrarnos con el primer obstáculo.