En la actualidad, es innegable que la transformación digital se ha hecho necesaria para la sostenibilidad y el progreso de cualquier empresa, indiferentemente de su tamaño. En este punto se hace clave la implementación de una filosofía ágil y transformadora que permita resolver de forma eficaz la integración de todos los procesos de desarrollo de aplicaciones de la organización permitiendo rápidamente poner en producción las nuevas necesidades del cliente.

A esta filosofía se le conoce como cultura DevOps y es, sin duda uno de los grandes pilares de las empresas que buscan la agilidad.

¿Qué es DevOps?

Antes de ahondar en lo que es la cultura DevOps, considero relevante apuntar lo que NO es DevOps:

  1. No es una herramienta o conjunto de herramientas
  2. No es la combinación de los equipos de Desarrollo y Operaciones
  3. No es un nuevo rol o equipo en la compañía

En realidad Devops va más allá de utilizar conocidas herramientas técnicas (Jenkins, Ansible, Terraform, Chef, etc) o desarrollar procesos arquitectónicos que estén de moda como Integración Continua (CI) o Entrega Continua (CD). DevOps es un conjunto de prácticas y procesos de trabajo colaborativo entre los diferentes equipos de la empresa (Desarrollo, Calidad, Negocio, TI, entre otros) permitiendo la entrega de productos y mejoras de una manera más rápida y eficiente a los clientes.

Lo que SÍ es DevOps:

  • Buscar la reducción de los tiempos de entrega de las aplicaciones, desde el código fuente a producción.
  • Crear entornos diferentes (preproducción, QA, producción) pero con características similares
  • Pensar en pequeñas entregas funcionales en vez de aplicaciones completas.
  • Identificar errores en etapas tempranas del desarrollo
  • Permitir a los desarrolladores desplegar sus cambios de manera automatizada
  • Monitorizar los pasos y del funcionamiento general del proceso.
  • Mantener a todos los equipos involucrados en cada proceso del producto sincronizados.

¿Que necesitamos para implementar DevOps?

No obstante, implementar la cultura DevOps no sólo se trata de ejecutar actividades basadas en tecnología. Hay una serie de aspectos que son claves para su correcta implementación:

  • Cambio cultural dentro de la organización: la cultura en la organización es fundamental para una implementación con éxito de nuevas prácticas. Es necesario involucrar en el proceso todos los roles de cada equipo, definir con claridad el gobierno de la información y establecer un canal adecuado que permita la comunicación ágil y colaborativa. Es recomendable incluso la participación de clientes durante el proceso. De esta forma, se enriquecerá el feedback obtenido a lo largo de todo el proceso.
  • Libertad para que cada equipo pueda dirigir sus esfuerzos estratégicamente: una forma para alinear a todos los participantes en el trabajo adecuado, es darles la capacidad de priorizar los trabajos más estratégicos. Así, terminan de forma más rápida, evitando tareas repetidas y ejecutar trabajos no relacionados con la estrategia. Todos deben aportar para conseguir mejorar el proceso. Al final, el resto se acaba beneficiando.
  • Implementación de metodologías ágiles: Cada equipo debería adoptar y promover metodologías ágiles en todo el ciclo de vida del producto.

¿Qué se debe cambiar a nivel técnico?

DevOps empieza cuando el desarrollador coloca su código en un repositorio hasta que llega a los diferentes entornos de forma automática. Por tanto, DevOps se apoya en diferentes herramientas que ayudan a realizar tareas sencillas como compilar el código, verificar la calidad del mismo, realizar pruebas unitarias, crear imágenes para ser usadas en contenedores, actualizar el entorno de trabajo, avisar de una nueva versión liberada, etc.

Beneficios de adoptar DevOps

Existe una gran cantidad de enunciados que podrían justificar la importancia de la cultura Devops, sin embargo, enumero algunos que considero suficientes para aterrizar la importancia de DevOps:

  1. La estructura de TI tradicional no está diseñada para soportar la agilidad requerida para satisfacer las demandas del mercado actual.
  2. Se eliminan cuellos de botella implícitos en el desarrollo tradicional: diseño, codificación, pruebas de sistema, pruebas de carga, instalación, configuración y pruebas de aceptación del usuario.
  3. Los clientes ya no buscan adquirir un producto sino un servicio con inmediatez de disponibilidad y resultados tangibles.
  4. DevOps acelera la innovación y el desarrollo, impulsando los ingresos y el crecimiento de la empresa.

 

Conclusiones

DevOps va mucho más allá de instalar, configurar y operar software para automatizar el despliegue de aplicaciones.

DevOps implica un cambio de mentalidad en la forma de trabajar de los equipos involucrados, poniendo al cliente como objetivo principal buscando hacer entregas rápidas de productos, ir incrementándolos para adaptarse a los cambios solicitados. Todo basado en la automatización con herramientas de software, en un enfoque de trabajo Agile.

Consigue acelerar el desarrollo y creación de productos, generando una mayor velocidad en la liberación de versiones y ahorro de costes. Es, por tanto, un motor muy importante que impulsa la transformación en todos los sentidos, acelerando la inmediatez del producto al cliente y alineando la concepción del producto con el objetivo del negocio.

Uno de los servicios claves que ofrecemos en PFS Tech para nuestros clientes es la automatización del ciclo de desarrollo (desde que se crea una aplicación hasta que se despliega) utilizando DevOps.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *