L'autore di DevOps Ryn Daniels condivide strategie che chiunque può utilizzare per creare rotazioni Oncall di qualità superiore, meno fastidiose e più sostenibili.

Con l'avvento di DevOps, molti ingegneri oggi sono coinvolti in qualche forma di reperibilità, un'attività che un tempo era di esclusiva responsabilità degli amministratori di sistema o degli ingegneri operativi. La reperibilità, soprattutto fuori orario, non è un'attività che la maggior parte delle persone apprezza. La reperibilità può disturbare il sonno, interferire con il normale lavoro che cerchiamo di svolgere durante il giorno e interferire con la nostra vita in generale. Con l'aumento del numero di team che adottano la reperibilità, ci siamo chiesti: "Cosa possiamo fare come individui, team e organizzazioni per rendere la reperibilità più umana e sostenibile?"
Preservare il sonno
Spesso, quando si pensa alla reperibilità, la prima cosa che si pensa è che ciò avrà un impatto negativo sul sonno; nessuno vuole essere svegliato da un avviso nel cuore della notte. Se la vostra organizzazione o il vostro team diventano sufficientemente grandi, potete utilizzare una rotazione "a seconda del sole", in cui team con fusi orari diversi partecipano alla stessa rotazione, ma i turni di reperibilità sono più brevi, in modo che ogni fuso orario sia reperibile solo durante le ore di lavoro (o almeno di veglia). Impostare una rotazione di questo tipo può fare miracoli per ridurre il carico di lavoro notturno a carico del personale reperibile.
Se non si dispone degli ingegneri e della distribuzione geografica necessari per supportare una rotazione "segui il sole", ci sono comunque alcune cose che si possono fare per ridurre la probabilità che le persone vengano svegliate inutilmente nel cuore della notte. Dopotutto, una cosa è alzarsi dal letto alle 4 del mattino per risolvere un problema urgente che riguarda un cliente; un'altra è svegliarsi e scoprire di avere a che fare con un falso allarme. Può essere utile rivedere tutti gli avvisi impostati e chiedere al team quali devono effettivamente svegliare qualcuno durante le ore non lavorative e se tali avvisi possono attendere fino al mattino. Può essere difficile convincere le persone a disattivare alcuni avvisi non lavorativi, soprattutto se problemi non rilevati hanno causato problemi in passato, ma è importante ricordare che un ingegnere privato del sonno non è il più efficace. Impostate gli avvisi per le ore di lavoro, quando sono davvero importanti. Oggigiorno la maggior parte degli strumenti di avviso consente di impostare regole diverse per le notifiche al di fuori dell'orario lavorativo, che si tratti di periodi di notifica Nagios o di impostare diverse pianificazioni in PagerDuty.
Sonno, dovere e cultura di squadra
Altri modi per affrontare i disturbi del sonno implicano cambiamenti culturali più ampi. Un modo per affrontare questo problema è monitorare gli avvisi, prestando particolare attenzione a quando si verificano e se sono gestibili. — è uno strumento creato e pubblicato da Etsy che consente ai team di monitorare e categorizzare gli avvisi ricevuti. Può generare grafici che mostrano quanti avvisi hanno svegliato le persone (utilizzando i dati "Sonno" dei fitness tracker) e quanti avvisi hanno effettivamente richiesto un intervento umano. Utilizzando queste tecnologie, è possibile monitorare l'efficacia della rotazione del personale di reperibilità e il suo impatto sul sonno nel tempo.
Il team può svolgere un ruolo importante nel garantire che tutti i dipendenti in servizio riposino a sufficienza. Creare una cultura che incoraggi le persone a prendersi cura di sé: se si perde il sonno perché si è di turno di notte, si potrebbe dormire un po' di più al mattino per cercare di recuperare il sonno perso. I membri del team possono prendersi cura gli uni degli altri: quando i team condividono i dati sul sonno tramite un'applicazione come Opsweekly, possono rivolgersi ai colleghi di turno e dire: "Ehi, sembra che tu abbia avuto una brutta notte con PagerDuty ieri sera: vuoi che ti sostituisca stasera così puoi riposare un po'?". Incoraggiate le persone a sostenersi a vicenda in questo modo e scoraggiate una "cultura dell'eroe" in cui le persone si spingono al limite evitando di chiedere aiuto.
Ridurre l'impatto del lavoro su chiamata
Quando i tecnici sono stanchi perché sono stati svegliati durante il servizio di reperibilità, ovviamente non lavoreranno al 100% della loro capacità per l'intera giornata, ma anche senza considerare la mancanza di sonno, il servizio di reperibilità può avere anche altri impatti sul lavoro. Una delle perdite più significative durante il servizio di reperibilità è dovuta al fattore interruzione, il cambio di contesto: una singola interruzione può comportare una perdita di almeno 20 minuti a causa della perdita di concentrazione e del cambio di contesto. È probabile che i tuoi team abbiano altre fonti di interruzioni, come ticket generati da altri team, richieste o domande che arrivano tramite chat e/o e-mail. A seconda del volume di queste altre interruzioni, potresti valutare di aggiungerle a una rotazione di reperibilità esistente o di impostare una seconda rotazione solo per gestire queste altre richieste.
È importante tenerne conto quando si pianifica il lavoro del team, sia a lungo che a breve termine. Se il team tende ad avere turni di reperibilità piuttosto intensi, è necessario tenerne conto nella pianificazione a lungo termine, poiché è possibile che tutto il personale sia effettivamente reperibile in qualsiasi momento, anziché svolgere altre attività. Nel breve termine, si potrebbe scoprire che la persona reperibile non è in grado di rispettare le scadenze a causa delle sue responsabilità di reperibilità: questo è prevedibile e il resto del team dovrebbe essere pronto ad adattarsi e a fornire assistenza per garantire che il lavoro venga svolto e che la persona reperibile sia supportata nelle sue attività lavorative. Indipendentemente dal fatto che la persona reperibile venga chiamata o meno, il turno di reperibilità influirà sulla sua capacità di svolgere altre attività: non aspettatevi che la persona reperibile lavori di notte per completare progetti programmati oltre a essere reperibile fuori orario.
I team dovranno trovare un modo per gestire il lavoro extra generato dai turni di reperibilità. Questo lavoro può essere reale, volto a risolvere problemi reali rilevati dai sistemi di monitoraggio e allerta, oppure può essere finalizzato a migliorare il monitoraggio e l'allerta per ridurre i falsi positivi. Qualunque sia la natura del lavoro generato, è importante distribuirlo in modo equo e sostenibile all'interno del team. Non tutti i turni di reperibilità sono uguali, alcuni sono più complessi di altri, quindi affermare che la persona che riceve un avviso è la persona responsabile della risoluzione di tutte le conseguenze di tale avviso può comportare una distribuzione non uniforme del lavoro. Potrebbe essere più sensato che la persona di reperibilità sia responsabile della pianificazione o della distribuzione del lavoro, con l'aspettativa che il resto del team sia disponibile per contribuire a completare il lavoro generato.
Creare e mantenere un equilibrio tra lavoro e vita privata
Considera l'impatto che la reperibilità ha sulla tua vita al di fuori del lavoro. Quando sei reperibile, è probabile che ti senta legato al tuo cellulare e al tuo computer portatile, il che significa che porti sempre con te il portatile e il router mobile (modem USB), o semplicemente non esci di casa/ufficio. Essere reperibile di solito significa rinunciare a cose come incontrare amici o familiari durante il turno. Ciò significa che la durata di ogni turno dipende dal numero di persone nel tuo team e la frequenza dei turni può comportare un eccessivo stress per i dipendenti. Potrebbe essere necessario sperimentare la durata e gli orari dei turni per trovare un orario che funzioni almeno per la maggior parte delle persone coinvolte, poiché team e persone diversi avranno priorità e preferenze diverse.
È fondamentale comprendere l'impatto che il lavoro a chiamata avrà sulla vita delle persone, sia a livello dirigenziale che individuale. È importante notare che l'impatto sarà maggiormente avvertito da chi ha meno privilegi. Ad esempio, se dovete dedicare del tempo alla cura dei bambini o di altri familiari, o se vi accorgete che gran parte delle faccende domestiche ricadono sulle vostre spalle, avete già meno tempo ed energie di chi non ha queste responsabilità. Questo lavoro "in secondo o terzo turno" tende a influire sulle persone in modo sproporzionato, e se impostate turni di lavoro a chiamata con un programma o un'intensità che presuppone che i partecipanti non abbiano una vita personale al di fuori dell'ufficio, state limitando le persone che possono contribuire al vostro team.
Incoraggiate i dipendenti a cercare di mantenere il più possibile la loro normale routine. Dovreste valutare l'idea di fornire al team router mobili (modem USB) in modo che i dipendenti possano uscire di casa con il proprio computer portatile e continuare a vivere una vita normale. Incoraggiate i dipendenti a scambiarsi gli orari di reperibilità, se necessario, per brevi periodi di tempo, in modo che possano andare in palestra o consultare un medico durante il servizio. Non create una cultura aziendale in cui il servizio di reperibilità significhi che gli ingegneri non facciano altro che essere reperibili. L'equilibrio tra lavoro e vita privata è un aspetto importante di qualsiasi lavoro, ma soprattutto se si considerano anche le ore libere, i membri più anziani del team dovrebbero dare il buon esempio agli altri in termini di equilibrio tra lavoro e vita privata durante il servizio di reperibilità.
A livello individuale, assicurati di spiegare cosa significa essere reperibili ad amici, familiari, partner, animali domestici, ecc. (probabilmente ai tuoi gatti non importerà, visto che sono già svegli alle 4 del mattino quando suona la sveglia, anche se non vorranno comunque aiutarti). Assicurati di recuperare il tempo perso dopo la fine del turno, che si tratti di uscire con gli amici, la famiglia o di dormire fino a tardi. Se possibile, valuta l'idea di impostare una sveglia silenziosa (come uno smartwatch) che suoni al polso per svegliarti senza svegliare nessuno intorno a te. Trova il modo di prenderti cura di te stesso sia durante il turno di reperibilità che al termine. Potresti voler creare un "kit di sopravvivenza per la reperibilità" per aiutarti a rilassarti: ascolta una playlist della tua musica preferita, leggi un libro che ti piace o dedica del tempo a giocare con un animale domestico. I manager dovrebbero incoraggiare la cura di sé concedendo ai dipendenti un giorno libero dopo una settimana di servizio e assicurandosi che chiedano (e ottengano) aiuto quando ne hanno bisogno.
Migliorare l'esperienza di reperibilità
Nel complesso, essere reperibili non deve essere per forza un lavoro orribile: in quanto reperibili, hai l'opportunità e la responsabilità di impegnarti attivamente per migliorare la situazione per chi sarà reperibile in futuro, ovvero con meno messaggi e in modo più accurato. Anche in questo caso, monitorare il valore dei tuoi avvisi utilizzando strumenti come Opsweekly può aiutarti a capire cosa rende fastidiosa la tua chiamata e a risolverla. Per gli avvisi inattivi, chiediti se ci sono modi per eliminarli, magari attivandoli solo durante l'orario di lavoro perché ci sono cose a cui non hai bisogno di rispondere nel cuore della notte. Non aver paura di rimuovere gli avvisi, modificarli o modificare la modalità di invio da "invia a telefono ed email" a "solo email". Sperimentazione e iterazione sono fondamentali per migliorare la tua chiamata nel tempo.
Per gli avvisi effettivamente gestibili, dovresti valutare quanto sia facile per un tecnico intraprendere le azioni necessarie. Ogni avviso funzionante dovrebbe essere corredato da un runbook: valuta l'utilizzo di uno strumento come Nagios-Herald per aggiungere collegamenti ai runbook agli avvisi. Se l'avviso è abbastanza semplice da non richiedere un runbook, probabilmente è abbastanza semplice da poter automatizzare la risposta utilizzando strumenti come i gestori di eventi di Nagios, che evitano agli utenti di doversi svegliare o essere interrotti per attività facilmente automatizzabili. Sia i runbook che Nagios-Herald possono aiutarti ad aggiungere un contesto prezioso agli avvisi, aiutando gli utenti a rispondere in modo più efficace. Verifica se riesci a rispondere a domande comuni come: quando è stato attivato l'ultimo avviso? Chi ha risposto l'ultima volta e quale azione, se presente, ha intrapreso? Quali altri avvisi vengono visualizzati contemporaneamente e sono correlati? Questo tipo di informazioni contestuali è spesso presente solo nella mente delle persone, quindi incoraggiare una cultura di documentazione e condivisione delle informazioni contestuali può ridurre la quantità di risorse necessarie per rispondere agli avvisi.
Gran parte della stanchezza che deriva dall'essere reperibili è dovuta al fatto che non finisce mai: se nel tuo team ci sono persone reperibili, è improbabile che finiscano in un futuro prossimo. La reperibilità non finisce mai e potremmo avere la sensazione che sarà sempre un periodo orribile. Questa mancanza di speranza è un grave problema mentale che può contribuire a stress e burnout, quindi affrontare la percezione (oltre alla realtà) che la reperibilità sarà sempre un periodo orribile è un buon punto di partenza quando si pensa alla propria reperibilità a lungo termine.
Per dare alle persone la speranza che la situazione dei reperibili migliori mai, è necessario avere visibilità sul sistema (lo stesso monitoraggio e la stessa categorizzazione dei reperibili che ho menzionato prima). Tieni traccia di quanti avvisi hai, quale percentuale di essi richiede un intervento reperibile, quanti di essi svegliano le persone e poi lavora per creare una cultura che incoraggi le persone a fare meglio. Se hai un team numeroso, può essere allettante, una volta terminato il servizio reperibile, alzare le mani e dire "questo è il problema del prossimo reperibile" piuttosto che impegnarsi per risolverlo: chi vuole dedicare più impegno del necessario ai reperibili? È qui che una cultura dell'empatia può fare una grande differenza, perché non ti prendi cura solo del tuo benessere durante il servizio reperibile, ma anche di quello dei tuoi colleghi.
È tutta una questione di empatia
L'empatia è un elemento fondamentale per incentivare il lavoro che migliora l'esperienza di reperibilità. Come manager o membro, puoi riconoscere o addirittura premiare positivamente le persone per il loro comportamento che migliora la reperibilità. Le operazioni sono un'area in cui gli ingegneri spesso hanno la sensazione che le persone prestino loro attenzione solo quando qualcosa non va: le persone saranno lì a urlare contro di loro quando il sito è inattivo, ma raramente conoscono l'impegno dietro le quinte che gli ingegneri operativi mettono in campo per mantenere il sito operativo per il resto del tempo. Riconoscere il lavoro svolto può fare molto, che si tratti di ringraziare qualcuno in una riunione o in un'e-mail condivisa per aver migliorato un avviso specifico, un aspetto tecnico di una reperibilità o di dare a qualcuno il tempo di sostituire per un po' il turno di un altro ingegnere.
Incoraggia le persone a dedicare tempo e impegno per migliorare le situazioni di reperibilità a lungo termine. Se il tuo team prevede la reperibilità, dovresti pianificare e dare priorità a questo lavoro, proprio come qualsiasi altro lavoro sulla tua tabella di marcia. La reperibilità è al 90% entropia e, a meno che tu non lavori attivamente per migliorarla, peggiorerà sempre di più nel tempo. Collabora con il tuo team per capire cosa motiva e premia di più le persone, quindi usa queste informazioni per incoraggiare le persone a ridurre il rumore di allerta, scrivere manuali operativi e sviluppare strumenti che risolvano i loro problemi di reperibilità. Qualunque cosa tu faccia, non accettare una pessima reperibilità come parte permanente dello status quo.
Fonte: habr.com
