¿Qué es DevOps?

Completado

La contracción de "Dev" y "Ops" hace referencia a reemplazar los equipos de desarrollo y operaciones aislados. La idea es crear equipos multidisciplinarios que trabajen conjuntamente con prácticas compartidas, herramientas y responsabilidad para los resultados. Entre las prácticas esenciales de DevOps se incluyen la planeación ágil, la integración continua, la entrega continua y la supervisión completa de las aplicaciones. DevOps es un recorrido continuo de mejora, no de destino.

Valor empresarial de DevOps

Las organizaciones que implementan prácticas de DevOps suelen ver mejoras medibles en las métricas operativas clave:

  • Frecuencia de implementación: aumento de versiones poco frecuentes a implementaciones normales y predecibles
  • Tiempo de entrega: reducido de ciclos de desarrollo extendidos a períodos de tiempo de entrega más cortos
  • Tiempo medio de recuperación (MTTR): resolución de incidentes más rápida y restauración del sistema
  • Tasa de errores de cambio: menos problemas de producción debido a pruebas y automatización mejoradas

Entre las ventajas esperadas se incluyen:

  • Tiempo de comercialización reducido para las nuevas características
  • Disminución de los incidentes relacionados con la implementación
  • Mejora de la productividad y satisfacción de los desarrolladores
  • Reducción de los costos operativos a través de la automatización

Diagrama que muestra el ciclo de DevOps con fases de plan, compilación, integración, implementación, operación y comentarios en un bucle continuo.

Comprender y calcular el tiempo del ciclo

Comencemos con un concepto fundamental sobre el desarrollo de software mediante el bucle OODA (Observe, Orient, Decide, Act). Originalmente diseñado para evitar que a los pilotos de combate sean derribados del cielo, el bucle OODA es un excelente marco para mantenerse por delante de sus competidores en el ámbito empresarial.

Bucle OODA en la práctica:

  • Observe: Supervisión de métricas empresariales, tendencias de mercado, comportamiento del usuario y datos de telemetría
  • Oriente: Analiza opciones para lo que puedes ofrecer, posiblemente a través de experimentos
  • Decidir: determinar qué perseguir en función de los datos y las prioridades empresariales
  • Acto: Entrega de software de trabajo a usuarios reales y recopilación de comentarios

Ejercicio de cálculo del tiempo de ciclo: Piense en el proceso de desarrollo actual. Cuánto tiempo tarda en ir de:

  • ¿Confirmación de código → implementación de producción?
  • ¿Solicitud de características → comentarios del cliente?
  • Informe de errores → ¿Corregir en producción?

Ejemplo: Si tarda 2 semanas en implementar un cambio de configuración de una sola línea, el tiempo de ciclo es de 2 semanas. Esto se convierte en tu restricción de velocidad.

Diagrama en el que se muestra el ciclo del bucle OODA con las fases Observe, Orient, Decide y Act conectadas en un patrón circular, haciendo hincapié en la iteración continua.

Sé informado por datos, no completamente dirigido por datos

Recomendamos usar datos para informar las decisiones en tu próximo ciclo, pero evitar quedar paralizado por el análisis. La experiencia de muchas organizaciones sugiere que las implementaciones suelen tener resultados variados:

  • Algunas implementaciones tendrán resultados empresariales negativos
  • Algunas implementaciones tendrán resultados positivos
  • Algunas implementaciones no marcarán ninguna diferencia medible

El principio clave: Fallar rápido en las iniciativas que no avanzan en los objetivos empresariales y redoblar esfuerzos en los resultados que respaldan los objetivos del negocio. Este enfoque se suele denominar "pivotar o perseverar".

Aplicación práctica:

  • Configuración de pruebas A/B para nuevas características
  • Definir métricas de éxito antes de la implementación
  • Establecimiento de procedimientos de reversión para experimentos con errores
  • Crear bucles de retroalimentación para medir el impacto rápidamente

Búsqueda de aprendizaje validado

La rapidez con que puede fracasar rápidamente o redoblar esfuerzos depende de su tiempo de ciclo: cuánto tarda en completarse ese ciclo de retroalimentación. Los comentarios que recopile con cada ciclo deben ser:

  • Fáctico: basado en el comportamiento real del usuario y las métricas del sistema
  • Accionable: que lleva a pasos claros y decisiones siguientes
  • Oportuno: Disponible suficientemente rápido como para influir en la siguiente iteración

Este enfoque basado en evidencia se denomina aprendizaje validado : tomar decisiones basadas en evidencia empírica en lugar de suposiciones o opiniones.

Métricas de ejemplo para el aprendizaje validado:

  • Tasas de participación del usuario y adopción de características
  • Tasas de error y rendimiento del sistema
  • Puntuaciones de satisfacción del cliente y tickets de soporte
  • KPI empresariales (ingresos, tasas de conversión, retención)

Diagrama que ilustra el ciclo de aprendizaje validado mostrando resultados buenos, indiferentes y malos con ciclos de retroalimentación para la mejora continua.

Acortar el tiempo de ciclo

Al adoptar prácticas de DevOps:

  • Puede acortar el tiempo de ciclo trabajando en lotes más pequeños.
  • Uso de más automatización.
  • Reforzar la canalización de versión.
  • Mejorando tu telemetría.
  • Implementar con más frecuencia.

Diagrama de aprendizaje validado frente a frecuencia de implementación. Bueno, indiferente y mal ciclo.

Optimización del aprendizaje validado

Cuanto más frecuentemente realices implementaciones, más puedas experimentar. Cuantas más oportunidades tengas de cambiar de dirección o perseverar, más aprenderás de manera validada en cada ciclo. Esta aceleración en el aprendizaje validado es el valor de la mejora. Piense en ella como la suma del progreso que logra y los errores que evita.

Diagrama de aprendizaje validado frente a frecuencia de implementación. Bueno, indiferente y mal ciclo. Valor de la métrica de mejora.