Si no mides, no sabes si mejoras
Una revisión posterior es una reunión, sin buscar culpables, en la que el equipo cuenta qué pasó y qué va a cambiar. Medir cuánto tardaste en detectar y en recuperar te dice si mejoras de un incidente al siguiente.
Una asesoría de quince personas recupera su correo tras un ataque. Un mes después ocurre algo parecido. Si no anotó cuánto tardó la primera vez, no puede saber si ahora lo hace mejor.
Al final de esta lección
Nota
Puedo aprender de un incidente y medir cómo respondí.
Palabras clave
| Palabra | Qué significa |
|---|---|
| Revisión posterior | una reunión tras el incidente para repasar qué pasó y qué cambiar |
| Causa raíz | el fallo de fondo que hizo posible el incidente |
| Cultura sin culpables | preguntar qué falló en el sistema y no quién se equivocó |
| Acción de mejora | un cambio concreto, con una persona y una fecha |
| Tiempo de detección | desde que empieza el incidente hasta que el equipo lo detecta |
| Tiempo de recuperación | desde que se detecta hasta que el servicio vuelve a funcionar |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Qué se hace en una revisión posterior
Se hace pocos días después, cuando todos recuerdan. Se repasa la cronología: qué funcionó, qué falló y por qué.
Se busca la causa raíz, el fallo de fondo y no el que se vio primero. Se pregunta qué falló en el sistema, no quién se equivocó. Si alguien teme un castigo, deja de contar lo que ocurrió.
Ejemplo: de lo aprendido a un cambio
| Hallazgo | Causa raíz | Acción de mejora | Quién | Cuándo |
|---|---|---|---|---|
| Tardamos 30 minutos en verlo | Nadie miraba los avisos de acceso | Una regla que avise a dos personas | Ana | Esta semana |
| Las copias estaban en el mismo equipo | No había una copia aparte | Una copia semanal en un disco desconectado | Luis | En un mes |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Tiempo de detección y tiempo de recuperación
El tiempo de detección va desde que empieza el incidente hasta que el equipo lo detecta. El tiempo de recuperación va desde la detección hasta que el servicio vuelve a funcionar.
Mide desde el principio real del incidente y no desde que lo notaste. Si no, el tiempo de detección saldría siempre en cero.
Ejemplo: las horas de la asesoría
| Hecho | Día y hora | Cuenta |
|---|---|---|
| Empieza el incidente | 03 02:10 | Punto de partida |
| Se detecta | 03 02:40 | Detección: 30 minutos |
| Se contiene | 03 03:05 | 25 minutos tras la detección |
| Se recupera el correo | 03 05:30 | Recuperación: 170 minutos |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Calcular tiempos desde la terminal
El shell calcula con $(( )). De las 02:40 a las 05:30 hay 5 por 60 más 30, menos 2 por 60 más 40. El primer comando lo hace. El segundo saca la media de tres tiempos.
El tercero abre una prueba del laboratorio, pero solo para ver su cabecera. El archivo mtimes.txt trae fecha y hora en cada línea, listas para ordenar una cronología.
Los minutos entre dos horas
echo $((5*60+30 - (2*60+40)))Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
La media de tres tiempos
printf '30\n45\n15\n' | awk '{s+=$1} END {print s/NR}'Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
La cabecera del archivo de fechas del laboratorio
head -n 1 case/mtimes.txtSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
La media resume, pero también esconde
Con tres incidentes de 5, 5 y 200 minutos, la media es 70. Ninguno duró 70.
Mira también el más largo. Y compara siempre incidentes parecidos: un fallo de correo y un robo de datos no se miden igual.
Pasar una hora a minutos con Python
Restar horas escritas como texto es difícil. Primero conviértelas a minutos desde el día cero. Luego restar es fácil.
Ejecuta el ejemplo. Cambia las dos horas por las de tu propio incidente inventado.
Convertir una hora en minutos
def to_minutes(stamp):
# El formato es "día hora:minutos", por ejemplo "03 05:30".
parts = stamp.split()
day = int(parts[0])
clock = parts[1].split(":")
return day * 1440 + int(clock[0]) * 60 + int(clock[1])
print(to_minutes("03 05:30") - to_minutes("03 02:40"))
Un error frecuente
Advertencia
Mucha gente mide el tiempo de detección desde que se dio cuenta. Así siempre sale cero y no aprendes nada. Mídelo desde que empezó el incidente, aunque esa hora haya que buscarla después en los registros.
Para ir más lejos
Elige un incidente real que hayas leído en la prensa. Escribe qué causa raíz crees que tuvo y tres acciones de mejora, cada una con una persona y una fecha. Después di qué dato te falta para saber si funcionaron.