Abstract | dc.description.abstract | La organización en la que se desarrolló la presente tesis es un holding, con presencia en varios países de América Latina y que abarca distintas industrias (retail y banca, entre otros). El área de banca de esta organización opera involucrando el uso de sistemas grandes y complejos, que son adaptados de manera periódica o, en su defecto, extendidos para responder a las diferentes necesidades de las filiales de la empresa en cada país. En esencia, la estrategia es diseñar una solución general, y luego implementarla de manera local en cada país.
Por otro lado, la gestión del código fuente asociado a las diferentes implementaciones cumple un rol fundamental, puesto que impacta los tiempos de respuesta a las solicitudes de las filiales, así como la calidad y la previsibilidad del resultado de una actualización. Actualmente, los programas fuentes de los sistemas de banca se vinculan al servidor en el que se encuentran instalados, por lo tanto, no existen registros de los cambios, ni relación entre ellos. La falta de registros de los cambios que se realizan sobre el sistema constituye un problema operacional, puesto que no existe certeza de las versiones con las que se está trabajando, generando sobretrabajo y ocultando errores difíciles de detectar.
Para mejorar la gestión de los componentes de los sistemas de la organización, específicamente para el ámbito de banca , este trabajo de tesis buscó disociar los ambientes donde se ejecuta el software, estableciendo una relación entre los distintos ambientes o versiones de un software, facilitando la instalación o despliegue de las diversas versiones del mismo, permitiendo el desarrollo en paralelo de más de un componente.
Con el fin de lograr lo antes mencionado, esta tesis propone un proceso de gestión de la configuración que busca establecer relaciones entre los distintos ambientes, para instaurar así versiones de un sistema (y de sus componentes) independiente del ambiente en el que se encuentren instalados. Además, se busca reducir el trabajo manual y la incertidumbre durante el proceso de actualización de componentes de un sistema.
El proceso propuesto se aplicó a seis proyectos de software. En cada uno de ellos se establecieron líneas bases, y se identificaron los componentes modificados, la cantidad de actualizaciones realizadas y las puestas en producción completadas. Esto permitió contrastar los errores cometidos y analizar cómo fueron abordados.
Los resultados obtenidos estuvieron dentro de lo esperado. Aunque ocurrieron algunas situaciones que no estaban contempladas, éstas pudieron ser corregidas prontamente con una salida alternativa. Las contribuciones de esta solución apuntan principalmente a facilitar la gestión de los componentes y poder ofrecer certezas respecto de las versiones o funcionalidades disponibles, que en un futuro deberían ser desplegadas en sistemas o servicios dinámicos. El trabajo a futuro considera el uso de este proceso en otros sistemas de la organización. | es_ES |