Chiudi il ciclo con un miglioramento verificato
CompletatoTrasforma le prove di produzione in requisiti, test, modifiche controllate e risultati misurati. Definisci cosa può significare responsabilmente un software che si migliora.
Pubblicato da TaigaCome scriviamo
Verifica cosa hai capitoUn agente riduce la latenza dell'esportazione omettendo i controlli di autorizzazione. La metrica di velocità migliora. Il sistema è migliorato?Svolgi l'esercizio
Cosa imparerai
- Collegare un'osservazione operativa a una modifica ingegneristica verificabile.
- Separare recupero runtime, miglioramento del flusso e addestramento del modello.
- Misurare un miglioramento dichiarato senza indebolirne la valutazione.
Definisci il ciclo che vuoi chiudere
Il software produce prove durante l’uso: errori, ritardi, richieste di assistenza, incidenti, problemi di manutenzione e lavoro manuale ripetuto. Un ciclo di vita completo riporta queste prove alle decisioni ingegneristiche.
Software che si migliora può significare che l’automazione aiuta a individuare, proporre, implementare e verificare modifiche. Non significa necessariamente che un modello si addestri da solo. Indica quale parte cambia: codice applicativo, configurazione, test, istruzioni, flusso di lavoro o parametri del modello.
Il self-healing ripristina una condizione operativa nota. Il self-improvement modifica il sistema per produrre un risultato migliore in futuro. La seconda affermazione richiede un confronto e protezione dalle regressioni.
Segui un’osservazione lungo il ciclo di vita
La sequenza seguente è un metodo ingegneristico proposto. Non afferma che un prodotto svolga autonomamente ogni passo.
| Fase | Output richiesto | Esempio fittizio di esportazione |
|---|---|---|
| Osservare | Prove versionate con ambito e incertezza | La memoria del worker cresce durante esportazioni grandi |
| Diagnosticare | Causa verificabile e spiegazioni alternative | Buffer di righe trattenuti possono spiegare la crescita della memoria |
| Specificare | Risultato desiderato e vincoli | Elaborare le righe in streaming senza cambiare permessi o output |
| Riprodurre | Test che espone il guasto originale | Un’esportazione sintetica grande e rappresentativa supera il limite |
| Modificare | Correzione revisionabile | Liberare i buffer delle righe completate durante lo streaming |
| Valutare | Vecchio guasto risolto; altri requisiti mantenuti | Passano test di memoria, confronto dell’output, autorizzazione e nuovi tentativi |
| Rilasciare | Disponibilità controllata con criteri di recupero | Rollout limitato di un artefatto identificato |
| Verificare | Prove confrontabili dalla produzione e un responsabile | La memoria si stabilizza mentre correttezza e latenza restano accettabili |
Mantieni collegamenti tra questi output. Un’azione di postmortem come «migliorare il monitoraggio» è difficile da verificare. Segnale, responsabile, soglia e risposta provata rendono osservabile il completamento.
Mantieni la valutazione indipendente dalla proposta
Un agente può creare una patch e proporre test. Il team deve comunque verificare se quei test rilevino il problema originale. Mantieni un insieme di valutazione versionato che la modifica non possa indebolire tacitamente.
Per la perdita di memoria fittizia, confronta carichi di lavoro e versioni equivalenti. Includi esportazioni grandi, annullamento, nuovi tentativi e casi di accesso negato. Usa dati sintetici che rappresentino le strutture pertinenti senza esporre record dei clienti.
Respingi un’esportazione più veloce se perde record, aggira l’autorizzazione o supera il costo consentito. Definisci questi vincoli prima dell’ottimizzazione. Altrimenti il sistema può migliorare la metrica scelta peggiorando il servizio.
Se modifichi istruzioni o modello di un agente, valutane il comportamento su compiti rappresentativi e guasti noti. Mantieni disponibile la versione precedente. Aggiornare le istruzioni non dimostra che il modello sottostante abbia imparato da un incidente.
Rilascia e misura il risultato
Un rilascio canary espone una popolazione limitata a una versione candidata. Confronta i segnali della candidata e del controllo e definisci quando estendere o fermare. Traffico scarso o carichi diversi possono rendere il confronto inconcludente. Indicazioni sui rilasci canary.
Il team fittizio registra un riferimento iniziale da un carico sintetico fisso. Prova la correzione, rilascia entro un confine approvato e controlla periodi di produzione confrontabili. Se le prove restano insufficienti, registra l’incertezza invece di dichiarare un guadagno.
Misura anche il lavoro manuale ripetitivo. L’automazione può ridurlo, ma richiede a sua volta manutenzione e gestione dei guasti. Includi questi costi nel giudizio sul risultato. Indicazioni sul lavoro ripetitivo.
Rendi utilizzabile la scheda di feedback
Usa questi campi per l’esercizio: osservazione e versione; riferimento iniziale; causa proposta; criteri di accettazione; verifiche di regressione; modifica e revisione; confine di rilascio; risultato misurato; responsabile e prossima revisione.
Taiga Maintaining collega le segnalazioni del repository al lavoro di correzione. Le iniziative collegano una modifica prevista a pianificazione e consegna. Forniscono parti di una catena di prove. Il responsabile del servizio deve comunque verificare deployment e risultato operativo. Maintaining, Initiatives.
Una software factory matura collega questo lavoro tra prodotti. Mantieni visibili poteri decisionali e criteri di valutazione mentre cresce l’automazione. La prova finale è un servizio migliore e verificato, non un numero maggiore di modifiche generate.
Svolgi l'esercizio
Completa la scheda di feedback della lezione per la perdita di memoria fittizia. Definisci riferimento iniziale, test di accettazione, verifiche di regressione, confine di rilascio, misura in produzione e responsabile. Aggiungi una regola per respingere un'esportazione più veloce ma meno corretta.
Scarica la scheda di lavoro (Markdown)Deselezionare questa opzione elimina tutti i progressi salvati nel browser.
I progressi restano in questo browser. Nessun account, nessun tracciamento.
Fonti e approfondimenti
- Google SRE: Postmortem Culture ↗
- Google SRE: Canarying Releases ↗
- Google SRE: Eliminating Toil ↗
- Taiga docs: Maintaining ↗
- Taiga docs: Initiatives ↗