Principios culturales

Es importante mencionar que no existe una forma única de implementar DevOps. DevOps posee un valor único e íntimo para la organización que le adopte.

Sin embargo, podemos asociar DevOps a varios principios o pilares que permiten, sin importar el contexto, entorno, responsables, u organización, identificar si se cumple o no con la metodología DevOps.

Principios de DevOps

Los principios de DevOps no son una especificación o estándar. Es bueno verlos como un marco de referencia más que leyes o normativas.

A modo resumen, los principios de DevOps son:

  • Colaboración
  • Automatización
  • Mejora continua
  • Acción centrada al cliente
  • Responsabilidad de extremo a extremo
  • Crear con el objetivo en mente

A continuación describiremos más a detalle de que se trata cada uno.

Colaboración

La premisa clave detrás de DevOps es la colaboración entre todos los equipos que forman parte del ciclo de desarrollo, incluyendo pero no limitándose a desarrollo y operaciones. Esto quiere decir, entre otras cosas, que se trabaja como un solo equipo durante todo el ciclo de vida de desarrollo.

Debido a la responsabilidad compartida sobre la entrega de valor al producto, se requiere de un equipo multidisciplinario en donde existan altos niveles de propiedad y frecuente comunicación.

La idea principal, en resumen, es colaboración continua desde la idea hasta la entrega.

Automatización

Una práctica esencial de DevOps es automatizar la mayor parte posible del ciclo de vida del desarrollo de software. Esto da al equipo más tiempo en enfocarse en actividades que realmente agregan valor; sobre todo a los desarrolladores, puesto les permite concentrarse en agregar nuevas funcionalidades y corregir bugs.

La automatización es un elemento clave de CI/CD y ayuda a reducir los errores humanos y aumentar la productividad del equipo.

Mejora continua

La mejora continua se estableció como un elemento básico de las prácticas ágiles. Es la práctica de centrarse en la experimentación, minimizar el desperdicio y optimizar la velocidad, el costo y la facilidad de entrega.

La mejora continua también está ligada a la entrega continua, lo que permite a los equipos de DevOps impulsar continuamente actualizaciones que mejoran la eficiencia de los sistemas de software.

Acción centrada al cliente

Los equipos de DevOps utilizan cortos ciclos de retroalimentación con clientes y usuarios finales para desarrollar productos y servicios centrados en las necesidades de los mismos.

Las prácticas de DevOps permiten una recopilación y respuesta rápidas a los comentarios de los usuarios mediante el uso de monitoreo en tiempo real y despliegues rápidos y frecuentes.

Los equipos obtienen visibilidad inmediata de cómo los usuarios reales interactúan con las aplicaciones y utilizan esa información para trabajar en mejoras adicionales.

Responsabilidad de extremo a extremo

La responsabilidad de extremo a extremo significa que todo el equipo es el dueño del resultado y no hay discriminación ni señalización por culpa. Actuar como equipo y asumir el fracaso y el éxito como una entidad única permite a los colaboradores sentirse parte de una meta mayor que, a su vez, produce altos niveles de propiedad, motivación y resistencia.

No significa que no haya responsabilidades y límites claros, el beneficio real de este principio es garantizar que todo el equipo sea capaz de comprender el impacto de su trabajo en las responsabilidades de los demás; asegurando así que haya una sana rendición de cuentas y transparencia.

Crear con el objetivo en mente

Este principio implica comprender las necesidades de los clientes y crear productos o servicios que resuelvan problemas reales.

Los equipos no deben “construir en una burbuja” o crear software basado en suposiciones sobre cómo los consumidores usarán el software. Más bien, los equipos de DevOps deben tener una comprensión holística del producto, desde la creación hasta la implementación.