Cierra el ciclo con mejoras verificadas
Convierte las pruebas de producción en requisitos, pruebas de software, cambios controlados y resultados medidos. Define qué puede significar de forma responsable un software que mejora por sí mismo.
Publicado por TaigaCómo escribimos
Qué aprenderás
- Conectar una observación operativa con un cambio de ingeniería verificable.
- Distinguir la recuperación en ejecución, la mejora del flujo de trabajo y el entrenamiento de modelos.
- Medir una mejora declarada sin debilitar su evaluación.
Define el ciclo que quieres cerrar
El software produce pruebas durante su uso: errores, retrasos, solicitudes de soporte, incidentes, hallazgos de mantenimiento y trabajo manual repetido. Un ciclo de vida completo devuelve esas pruebas a las decisiones de ingeniería.
Que el software mejore por sí mismo puede significar que la automatización ayuda a identificar, proponer, implementar y verificar cambios. No significa necesariamente que un modelo se entrene solo. Indica qué parte cambia: código de la aplicación, configuración, pruebas, instrucciones, flujo de trabajo o parámetros del modelo.
La recuperación automática restablece una condición operativa conocida. La mejora automática cambia el sistema para obtener un resultado mejor en el futuro. Esta segunda afirmación necesita una comparación y protección frente a regresiones.
Sigue una observación a lo largo del ciclo de vida
La siguiente secuencia es un método de ingeniería propuesto. No afirma que ningún producto realice todos los pasos de forma autónoma.
| Etapa | Resultado necesario | Ejemplo ficticio de exportación |
|---|---|---|
| Observar | Pruebas versionadas con alcance e incertidumbre | La memoria del worker aumenta durante exportaciones grandes |
| Diagnosticar | Causa comprobable y explicaciones alternativas | Los búferes de filas retenidos pueden explicar el aumento de memoria |
| Especificar | Resultado deseado y restricciones | Procesar las filas como un flujo sin cambiar permisos ni resultados |
| Reproducir | Una prueba que revele el fallo original | Una exportación sintética grande y representativa supera el límite |
| Cambiar | Una corrección que se pueda revisar | Liberar los búferes de las filas terminadas durante el procesamiento |
| Evaluar | Fallo original resuelto; demás requisitos preservados | Pasan las pruebas de memoria, comparación del resultado, autorización y reintentos |
| Publicar | Exposición controlada con criterios de recuperación | Despliegue limitado de un artefacto identificado |
| Verificar | Pruebas de producción comparables y un responsable | La memoria se estabiliza y la corrección y la latencia siguen siendo aceptables |
Mantén vínculos entre estos resultados. Una acción de un análisis posterior al incidente que diga «mejorar la monitorización» es difícil de verificar. Una señal, un responsable, un umbral y una respuesta probada permiten observar si se ha completado.
Mantén la evaluación independiente de la propuesta
Un agente puede crear un parche y proponer pruebas. El equipo debe comprobar si esas pruebas detectan el problema original. Conserva un conjunto de evaluación versionado que el cambio no pueda debilitar sin que se detecte.
Para la fuga de memoria ficticia, compara cargas de trabajo y versiones equivalentes. Incluye exportaciones grandes, cancelaciones, reintentos y casos de acceso denegado. Usa datos sintéticos que representen las estructuras relevantes sin exponer registros de clientes.
Rechaza una exportación más rápida si omite registros, elude la autorización o supera el coste permitido. Define estas restricciones antes de optimizar. De lo contrario, el sistema puede mejorar la métrica elegida mientras empeora el servicio.
Si cambias las instrucciones o el modelo de un agente, evalúa su comportamiento con tareas representativas y fallos conocidos. Conserva la versión anterior. Actualizar las instrucciones no demuestra que el modelo subyacente haya aprendido de un incidente.
Publica y mide el resultado
Un despliegue canary expone una población limitada a una versión candidata. Compara las señales de la candidata y del control, y define cuándo ampliar o detener el despliegue. Poco tráfico o cargas diferentes pueden impedir una conclusión clara. Guía sobre despliegues canary.
El equipo ficticio registra una referencia inicial con una carga sintética fija. Prueba la corrección, la publica dentro de un límite aprobado y comprueba periodos comparables de producción. Si las pruebas siguen siendo insuficientes, registra la incertidumbre en lugar de declarar una mejora.
Mide también el trabajo manual repetido. La automatización puede reducir el trabajo repetitivo, pero también necesita mantenimiento y gestión de fallos. Incluye estos costes al valorar el resultado. Guía sobre trabajo repetitivo.
Haz que el registro de mejora resulte útil
Usa estos campos para el ejercicio: observación y versión; referencia inicial; causa propuesta; criterios de aceptación; comprobaciones de regresión; cambio y revisión; límite de publicación; resultado medido; responsable y próxima revisión.
Maintaining de Taiga conecta los hallazgos del repositorio con el trabajo de corrección. Initiatives conecta un cambio deseado con su planificación y entrega. Ambos aportan partes de una cadena de pruebas. El responsable del servicio debe verificar el despliegue y el resultado operativo. Maintaining, Initiatives.
Una software factory madura conecta este trabajo entre productos. Mantén visibles las facultades de decisión y los criterios de evaluación a medida que crece la automatización. La prueba final es un servicio mejor y verificado, no una cifra mayor de cambios generados.
Haz el ejercicio
Completa el registro de mejora de esta lección para la fuga de memoria ficticia. Define una referencia inicial, una prueba de aceptación, comprobaciones de regresión, un límite de publicación, la medición en producción y un responsable. Añade una regla para rechazar una exportación más rápida pero menos correcta.
Descargar hoja de ejercicios (Markdown)Comprueba lo que has aprendido
Fuentes y lecturas adicionales
- Google SRE: Postmortem Culture ↗
- Google SRE: Canarying Releases ↗
- Google SRE: Eliminating Toil ↗
- Taiga docs: Maintaining ↗
- Taiga docs: Initiatives ↗
Lecturas relacionadas de Taiga
Desmarcar esta opción elimina todo el progreso guardado en este navegador.
El progreso permanece en este navegador. Sin cuenta ni seguimiento.