La ingeniería del software se define como: “…la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software…”. Aplicar un enfoque sistemático y cuantificable al desarrollo de software está bien, muy bien. Pero, ¿cuál?
Durante el ciclo de vida del desarrollo de una aplicación informática, atravesamos diversas etapas: análisis, diseño, construcción, pruebas y finalmente, documentación y mantenimiento. Cada una de estas etapas requiere un enfoque diferente, especializado cuando sea posible y sobre todo siempre profesional. Es difícil concebir la creación de software desde un único punto de vista. Hemos de adaptar nuestro punto de vista y disposición según la etapa en la que nos encontremos.
En la fase de análisis y diseño, nos sentiremos como arquitectos planificando e imaginando los cimientos de lo que será nuestra aplicación. Es el momento de aportar nuestra creatividad en la búsqueda de soluciones, de tomar papel y lápiz para esbozar cajas que representen módulos o sistemas, cilindros que simbolicen fuentes de datos y flechas que lo conecten todo de manera coherente.
En la fase de desarrollo es el momento de enfundarnos el mono de trabajo y hacer realidad todo lo diseñado. Es aquí donde se marca en muchos casos la diferencia. Una mirada de artesano nos hará mimar cada uno de los módulos a desarrollar. Construirlo con cuidado y esmero, como si fuera el único a desarrollar en toda la aplicación. Es esta concepción del software como artesanía ligada a un proceso de ingeniería la que marca la diferencia en las empresas. El crear cada uno de los módulos diseñados como de la creación de una obra de arte se tratara, aportará la calidad que todos buscamos.
Llega el momento de probar si lo que hemos construido cumple realmente las expectativas de nuestro cliente. Es aquí donde debemos cambiar una vez mas la careta y enfundarnos la del personaje perfeccionista que no ha de dejar pasar ni un detalle por alto, por pequeño que sea. La función del tester es en muchos casos la del malo de la película, mirado con recelo por los programadores al sentir éstos atacado y puesto en tela de juicio su trabajo.
Por último, hay ocasiones en las que tras un largo período de uso de nuestra aplicación, surgen mejoras a realizar o errores no detectados con anterioridad que han de ser corregidos. Aquí entra en acción el Indiana Jones del código fuente. Arquéologo implacable dispuesto a llegar hasta el rincón más recóndito y oscuro de un método para encontrar el bug responsable.
Como ven, una única visión en el desarrollo del software puede que no sea acertada. En cambio, en Alvantia consideramos que tenemos que adaptarnos a cada una de las fases de la construcción. No intentar construir y concebir una catedral de un golpe, sino definir cada una de sus partes con cuidado y por separado para posteriormente centrarnos con esa mirada de artesanos en la colocación de cada una de las piedras. Una a una.
Al igual que Leonardo Da Vinci jamás consideró como acabada su obra maestra La Gioconda, un buen artesano del software rara vez considera un proyecto como totalmente terminado. Siempre encuentra puntos a mejorar, a rehacer con una aproximación diferente. En definitiva, convierte en virtud el llegar a hacer de un proyecto de empresa un proyecto personal.