Il rapporto sullo stato dei devops del 2017 afferma che c'è un 31-45% di "tasso di fallimento delle modifiche". Mentre ciò suona intuitivamente su giusto, sono tracciati come incidenti? Nah. Perché vengono riparati abbastanza rapidamente, di solito durante la convalida.
Un problema che viene risolto rapidamente è ancora un problema. Se non li stai segnalando come tali, questo è un problema.
Quindi, ci vuole disciplina per segnalare accuratamente i tassi di fallimento. Siamo disincentivati a riferire in questo modo perché vogliamo che le cose funzionino e facciamo quello che serve per realizzarlo.
Se il tuo obiettivo è effettivamente far funzionare le cose, allora devi essere onesto sui fallimenti in modo da poterli prevenire in futuro. Suona come la squadra qui sta mentendo (forse a se stessi, di certo alla gestione) sugli errori perché il loro obiettivo è quello di avere le cose sembrano funzionare.
Queste sono cose diverse. Ad esempio, prendi la vecchia battuta che il QA produce bug - "il mio codice andava bene fino a quando il QA non se ne rendeva conto, e poi hanno fatto tutti questi bug!". I bug erano lì da sempre, ma lo sviluppatore ne ignorava. L'obiettivo di un team operativo dovrebbe essere la reale affidabilità e devono essere incentivati come tali dalla loro gestione. Ciò significa che se mettono in atto un maggiore monitoraggio che porta alla scoperta di nuovi problemi, dovrebbero essere premiati, non penalizzati per il successivo calo delle metriche di affidabilità.
TL; DR, come si dimostra che devops, in particolare l'automazione della distribuzione, migliora i tassi di errore delle modifiche?
Se stai cercando di motivare il cambiamento nella tua organizzazione, non dovresti provare a provare nulla, ma fornire prove di ciò che altre organizzazioni dicono delle loro transizioni. Se stai cercando di misurare i processi che hai già in atto e giustificare la loro continua esistenza, allora dovresti tenere traccia delle metriche di affidabilità standard, come il tempo medio di riparazione (MTTR).
Ma i principi di Devops non riguardano semplicemente l'aumento dell'affidabilità. Anche l'ingegneria dell'affidabilità del sito non riguarda semplicemente l'aumento dell'affidabilità. Piuttosto, vuoi raggiungere un livello adeguato di affidabilità - qualcosa che avvantaggia il business ma non ostacola lo sviluppo. E questo fa emergere il vero motivatore in devops, che è quello di potenziare il cambiamento . Volete consentire all'azienda di rispondere più rapidamente agli stimoli del mercato, che si verificano riducendo l'attrito degli sviluppatori, aumentando il tasso di schieramenti, automatizzando i processi manuali, ecc. Rimanendo entro un limite accettabile di affidabilità. Ciò significa che devi misurare l'affidabilità, ma devi anche misurare la velocità, perché il tuo obiettivo è quello di aumentare il secondo mantenendo il primo relativamente statico.