Introducción Trabajo Fin de Grado
Actualmente, me encuentro realizando mi Trabajado Fin de Grado (TFG) del grado en Ingeniería en Informática (especialización en Ingeniería del Software). Destacar que lo estoy haciendo en inglés, lo cual es algo que me hace mucha ilusión. En este artículo voy a comentar brevemente su temática y cuáles son sus objetivos.
Mi TFG consiste en llevar a cabo un proceso de reingeniería del sistema Exploravia (de la empresa Alpelupe Soluciones SL) con el objetivo de hacer más fácil y abaratar los costes de desarrollo, usar nuevas tecnologías y corregir decisiones de diseño. Cabe destacar que, el hecho de que el producto de mi TFG realmente sustituya al sistema actual, será decisión de los stakeholders, ya que, por ejemplo, puedan considerar que el coste de esta herramienta sea mejor no asumirlo a corto plazo. En todo caso, es provechoso que la empresa explore este tipo de herramientas para el futuro.
Esto, se alcanzará utilizando una de las herramientas dominantes del mercado Low Code, Outsystems. Para quien lo desconozca, las herramientas Low Code son plataformas de desarrollo de software que permiten a los usuarios crear aplicaciones sin tener que escribir líneas y líneas de código. En su lugar, utilizan una interfaz gráfica de usuario y bloques pre-construidos para construir aplicaciones. Esto supone dedicar la mayoría de los esfuerzos en la funcionalidad y el diseño de la aplicación, en lugar de tener que preocuparse por el código subyacente. Estas herramientas también puede extenderse con código propio (por ejemplo, Java y C#) y conectar con servicios externos de una forma sencilla. Además, suelen tener características de automatización y optimización incorporadas, lo que las hace más eficientes y fáciles de usar, como control de versiones y despliegue de aplicaciones, balanceo de carga y monitoreo de forma automática. En resumen, las herramientas low code ofrecen una solución rápida y sencilla para desarrollar aplicaciones.
Ahora bien, ¿por qué estos objetivos se cumplirían? Primero, porque con una misma herramienta (Outsystems) sustituiremos el sistema actual, el cual cuenta con tres desarrollos distintos, uno para IOS, otro para Android y un tercero para el sistema de gestión interna. Segundo, porque el sistema tiene una cierta deuda técnica provocada por seguir desarrollando con tecnologías que en cierta medida están desfasadas, y por errores de diseño provocados por la poca experiencia que tenía la empresa en temas tecnológicos cuando el proyecto nació. Tercero, porque con las muchas herramientas de automatización y optimización que nos ofrecen este tipo de plataformas de desarrollo, la empresa reduce sus esfuerzos en ciertas tareas, como son entre otras, el manejo de los distintos entornos (producción, pruebas, etc) despliegue, seguridad, monitorización, etc.
Cuando exponga mi trabajo lo publicaré por aquí.