Close

Gestión de incidentes para equipos de alta velocidad

Guía de gestión para mejorar las guardias

Al igual que en las salas de urgencias se requieren horarios de guardia para que los médicos puedan atender las emergencias sanitarias, los equipos de DevOps los necesitan para responder de forma eficiente a las incidencias del software y del sistema que afectan al rendimiento, la implementación y la disponibilidad.

Sin embargo, desarrollar una práctica para las guardias resulta más fácil de decir que de hacer. Estar de guardia puede ser una experiencia abrumadora y caótica para los empleados. Encontrar el equilibrio perfecto entre cobertura, escalabilidad y calidad de vida para el equipo es un reto constante

A medida que las prácticas recomendadas cambian y las empresas crecen, los equipos más ágiles y rápidos implementan nuevos enfoques (y les va bien con ellos).

Tú lo creas, tú lo mantienes

Hace tan solo diez años, el trabajo principal de los equipos de operaciones consistía en responder a los incidentes de TI. Las organizaciones solían tener una estructura de equipos por niveles (es decir, nivel 1, nivel 2 y nivel 3, con competencias y remuneraciones más altas en los niveles más elevados).

El objetivo de adoptar esta estructura era reducir el coste de las operaciones. Por lo general, el nivel 1 involucraba a los empleados con poca experiencia. Si el nivel 1 no podía resolver una incidencia, la escalaba al nivel 2, formado por personal más cualificado (y, por tanto, más caro). Este proceso continuaba hasta que se resolvía la incidencia.

No obstante, con el auge de los servicios ininterrumpidos, también aumentaron las interdependencias entre los sistemas y las expectativas de los clientes en cuanto al tiempo de actividad. Hoy en día, la lentitud a la hora de responder puede costar más a la empresa (en términos de reputación, satisfacción del cliente y pérdida de ingresos) que hacer intervenir antes a los desarrolladores sénior en los incidentes.

El resultado de este cambiante panorama tecnológico es que la estructura de los equipos de respuesta tenía que cambiar. Es entonces cuando entran en escena el movimiento DevOps y el concepto de “tú lo creas, tú lo mantienes”.

La idea es sencilla: el desarrollador que conoce el código es la mejor persona para solucionar las incidencias relacionadas en el menor tiempo posible. Gracias a DevOps, esta lógica es la razón por la que ahora es común que los desarrolladores estén de guardia, para garantizar que el código funcione correctamente y reducir los MTTA y MTTR de los incidentes.

La ventaja añadida de este enfoque es que se realizan pruebas más rigurosas antes de la implementación. Ahora que el desarrollador encargado del código puede recibir una alerta fuera del horario de trabajo, hay un mayor sentido de la propiedad y una mayor motivación para comprobar dos y tres veces el código. El resultado, según constatan cada vez más empresas, son sistemas más fiables y resilientes.

Crea una práctica para las guardias que se gane la aceptación de los equipos

Las guardias tienen muy mala reputación y, en ocasiones, con razón. Los programas de guardia sin un buen equilibrio pueden tener un efecto negativo en la conciliación entre la vida laboral y personal, la salud y el sueño. Los empleados que han tenido malas experiencias con las guardias o no han tenido ninguna pueden imaginar que el equilibrio entre la vida social y el trabajo se esfuma ante sus ojos.

No obstante, lo cierto es que las guardias no tienen por qué ser una marcha sombría hacia una menor calidad de vida. Si se equilibran las tareas de las guardias, se tienen en cuenta las preferencias del equipo y se implementan sistemas sólidos para prevenir y reducir los incidentes y las alertas de guardia siempre que sea posible, se puede crear una práctica que minimice y reparta la carga entre los equipos.

Para que la gestión sea todo un éxito en este aspecto, hay que ser transparente con los equipos desde el principio, proporcionarles mucha formación, definir unas expectativas justas para las tareas de guardia y las de desarrollo, desarrollar procesos robustos y realizar comprobaciones y mejoras continuamente, contando con las aportaciones y la aceptación de los propios equipos.

Sé transparente con tus equipos

La transparencia es la clave para una buena comunicación. Es necesario dejar claras las expectativas en torno a la disponibilidad cuando se implementa un sistema de guardias o un cambio en un sistema de guardias que ya existe. Asegúrate de pensar cuáles son las preguntas más comunes de los empleados y darles una respuesta clara. Aquí tienes algunos ejemplos:

  • ¿Los ingenieros estarán de guardia por la noche?
  • Si se está de guardia por la noche, ¿hay flexibilidad para trabajar desde casa al día siguiente? ¿Un empleado de guardia puede empezar más tarde al día siguiente si necesita recuperar algo de sueño?
  • ¿Los desarrolladores deben encargarse de realizar tareas de desarrollo durante la guardia?
  • ¿Cuántas veces al mes estará de guardia un desarrollador? ¿Cuál es el máximo de veces que una sola persona puede estar de guardia?
  • ¿Cómo se compensará a los empleados de guardia?

Proporciona una formación adecuada

Estas son las prácticas recomendadas para la formación de los equipos de guardia:

  • Elaborar un programa de formación que aborde tanto el proceso como las incidencias habituales
  • Proporcionar runbooks actualizados
  • Hacer que los nuevos empleados aprendan de los ingenieros de guardia con experiencia.
  • Dar a los empleados acceso a los informes de incidentes anteriores para que vean cómo se resolvieron otros incidentes parecidos al que tienen entre manos.

También es buena idea tener varios canales de escalación. Lo que se suele recomendar es tener a los ingenieros júnior en la rotación de guardia principal y dejar a los ingenieros sénior como reserva o rotación secundaria. De este modo, los ingenieros júnior pueden desarrollar las competencias necesarias para las guardias, al tiempo que se evita que cunda el pánico cuando hay una incidencia para la que se requiere más experiencia.

Separa las tareas de guardia y las de desarrollo

Tener tareas de desarrollo durante una guardia suele conllevar muchos cambios de contexto e interrupciones, especialmente en las empresas con frecuentes incidentes y necesidades de guardia.

En general, todo esto acarrea una menor eficiencia en el desarrollo y más estrés para los ingenieros de guardia, y puede provocar agotamiento, fatiga por exceso de alertas e insatisfacción laboral. También puede tener un efecto negativo en los sprints de desarrollo, ya que resulta difícil calcular cuánto puede y va a contribuir una persona de guardia en un determinado sprint.

Por eso, como práctica recomendada, aconsejamos separar las tareas de guardia y las de desarrollo. Cuando los empleados de guardia tengan tiempo libre, pueden trabajar en mejorar la documentación y la automatización relacionadas con las guardias para optimizar, en última instancia, la sostenibilidad de los sistemas y los servicios.

Ajusta tu proceso de guardia

Un sistema de guardia solamente puede funcionar bien si se mejora constantemente ajustando los procesos y los sistemas. Personaliza los horarios de guardia, las reglas de enrutamiento y las políticas de escalación con una solución de gestión de incidentes, como Jira Service Management, para gestionar las alertas de manera eficiente. Para lograr este objetivo, recomendamos lo siguiente:

  • Evaluar la prioridad y la urgencia de las alertas y configurar los sistemas en consecuencia.0 Las alertas con urgencia baja pueden esperar hasta la mañana, de modo que los empleados de guardia puedan disfrutar de un descanso más que necesario.
  • Reducir los falsos positivos clasificando alertas en función de factores como la causa raíz, el sistema que originó el problema, el mensaje, los umbrales, etc. Esto permite diferenciar las alertas que requieren realizar una acción del resto.
  • Desduplicar las alertas relacionadas para evitar la fatiga por exceso de alertas.
  • Designar alertas completas que describen de forma clara una incidencia y capaciten a los ingenieros de guardia para tomar decisiones eficaces y aplicar los conocimientos registrados en los runbooks.
  • Proporcionar informes de alertas y métricas a los equipos de guardia para que se puedan reconocer y mejorar los puntos débiles de los sistemas. En otras palabras, no dejes que los equipos de guardia se queden estancados con las mismas incidencias una y otra vez.

Revisa los informes de las guardias y realiza los ajustes necesarios

Para mantener las cosas en equilibrio y evitar el agotamiento de los empleados, los encargados de la gestión deben revisar los informes relacionados con las guardias para ver:

  • con qué frecuencia se llama o se despierta a cada miembro del equipo;
  • cuánto tiempo ha estado de guardia cada miembro del equipo;
  • las distribuciones horarias y diarias de la tarea de guardia de cada persona.
  • Ajusta los horarios según sea necesario para distribuir el trabajo equitativamente.

Escucha a tus empleados

Los encargados de la gestión deberían organizar reuniones generales periódicas con los ingenieros de guardia para hablar de las incidencias, las quejas y los puntos débiles, y, luego, tomar medidas con el fin de resolver las incidencias.

Los sistemas, las herramientas, los procesos, el personal, la documentación y la formación relacionados con las guardias no son algo estático sobre lo que puedas decidir una vez y olvidarte de ello. A medida que la empresa crece, los equipos aprenden y cambian, y los incidentes evolucionan con el tiempo, los responsables de la gestión deberían volver a evaluar y mejorar continuamente sus programas de guardias.

Las personas mejor preparadas para decirte lo que funciona y lo que no son los ingenieros de guardia. Escúchalos. Aplica los cambios. Y, sobre todo, asegúrate de que los encargados de la gestión no sean los únicos que tomen decisiones en cuanto a la organización y el protocolo de las guardias. Cuanto más permitas que los equipos mejoren sus propios procesos y prácticas, más aceptarán las guardias.

Desarrolla una política corporativa adecuada en cuanto a las guardias

Los ingenieros de guardia tienen una enorme responsabilidad en lo que respecta al éxito de las empresas. Por eso, no es de extrañar que el estrés y la tensión sean algunos de los problemas más habituales, sobre todo durante las incidencias graves con causas desconocidas.

La política corporativa de las guardias que definen los ingenieros de guardia sénior y los equipos de gestión determina la forma en que las personas manejan ese estrés y cómo se sienten al estar de guardia.

Tanto por el bien de los ingenieros de guardia como por el de la política de las guardias de la empresa, los equipos de gestión deberían prestar atención al desarrollo de una política corporativa adecuada en cuanto a las guardias y dejar claro que el objetivo siempre debería ser detectar y resolver los problemas, riesgos y puntos débiles de los sistemas.

En Atlassian, esto no solo implica mejorar continuamente nuestros sistemas de guardias, sino también llevar a cabo análisis retrospectivos sin reproches en los que la atención se centre en la mejora, no en encontrar a alguien a quien echar las culpas.

Descubre Jira Service Management, una solución mejorada que apoya una cultura positiva de guardia y crea un sistema con funciones de comunicación mejoradas, alertas centralizadas, automatización flexible e informes avanzados para responder a los incidentes.