The IT Mag

Un cambio de cultura es necesario en la construcción de software

2 minutos de lectura
Por MTP - junio 27, 2017    Software, Alta Tecnología, Automatización, devops,

Software-como-clave-del-éxito-empresarial.jpg

Por José Carlos López Ayala, consultor Preventa y Especialista en DevOps, MTP Digital Business Assurance

La rapidez con la que evoluciona la tecnología, junto a las nuevas necesidades y tendencias sociales, obliga a las organizaciones a agilizar sus métodos de trabajo con el objetivo de ofrecer a sus clientes nuevos servicios en el menor tiempo y con la mayor calidad posibles. En esta realidad, se hace necesario un cambio de cultura en todo lo referente a la construcción y despliegue del software.

Actualmente, los grupos de trabajo que participan en un proyecto –Desarrollo, SQA, Operaciones, entre otros- trabajan de forma independiente y con sistemas de comunicación poco eficientes. Además, muchos procesos se siguen llevando a cabo de forma manual, lo que da lugar a la generación de errores que acaban provocando trabajo extra, retrasos, necesidad de asignar más recursos y, por tanto, el encarecimiento del proyecto. La solución a esta situación tan poco idílica pasa, sin duda, por la adopción de prácticas de Entrega Continua y DevOps.

En estos momentos, mantener el sistema tradicional de construcción y despliegue de software ya no tiene sentido. Se hace cada vez más necesario adaptar otro basado en la filosofía Lean, que permita la optimación de los procesos, la reducción de costes mediante la eliminación de las tareas manuales, la reducción del time-to-market y del riesgo a la hora de realizar modificaciones en el entorno.

En este cambio de cultura, la automatización juega un papel fundamental a la hora de asegurar la calidad en los procesos de despliegue del software. Si el proceso de construcción, pruebas y despliegue no está automatizado, no es reproducible. Es decir, al trabajar de forma manual, cada vez que se lleve a cabo un despliegue de una nueva versión, se hará de forma distinta, porque resultará imposible auditar e identificar los errores cometidos a la hora de realizar cambios en la aplicación, la configuración del sistema o en los entornos. Es decir, no hay control en el proceso de release y, por lo tanto, no hay forma de asegurar la calidad final del producto.

Además, mediante la automatización de los procesos se hace también posible incrementar la frecuencia de la liberación de nuevas versiones de software con muy poco esfuerzo, lo que implica dos beneficios colaterales: por una parte, el conjunto de cambios entre un lanzamiento y otro será pequeño, algo que reducirá significativamente el riesgo asociado con la liberación de cambios en los entornos de producción, y hará mucho más fácil la aplicación de un posible roll back. Por otra, será también posible obtener feedback de forma mucho más rápida y se empezarán a explotar las funcionalidades mucho antes.

En consecuencia, la organización obtendrá múltiples beneficios adoptando esta aproximación:

  • Reducción del time-to-market
  • Una rentabilidad más rápida del software desarrollado
  • Menor costo, al reducir recursos dedicados y horas de trabajo
  • Mayor seguridad a la hora de introducir cambios
  • Despliegues más sencillos, sin necesidad de tener conocimientos técnicos

Nadie dice que implantar una metodología de Entrega Continua y DevOps resulte algo sencillo. Implica derribar barreras entre equipos, eliminar silos, utilizar nuevas herramientas, modificar procesos existentes, crear otros nuevos, etcétera, pero los beneficios para la organización a nivel de negocio son de tal calibre que, sin duda, merece la pena el esfuerzo y la inversión que conlleva. 

¿Tienes un proyecto? ¡Visita nuestra sección