¿Qué es DevOps?
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
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.
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)
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.
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.