Metriche IT per garantire velocità e qualità al tuo business

27 Aprile 2021Tempo lettura: 4 min.

In qualsiasi ambito, l’implementazione di un set di indicatori è fondamentale per monitorare l’efficacia di un processo, individuare potenziali problemi e capire come intervenire per risolverli. Anche nell’Information Technology, così come nel Marketing, l’adozione di determinate metriche è sinonimo di miglioramento delle performance. Scopriamo perché.

“La potenza è nulla senza il controllo” era lo slogan di una famosa azienda per cui ho lavorato quasi vent’anni fa: questo motto lo vedevo ovunque, mi piaceva e mi è rimasto in testa. Forse è anche per questo motivo che ho accolto volentieri la sfida di organizzare l’implementazione in MailUp di un set di metriche IT ben noto in bibliografia, che ha alla base il bilanciamento di velocità e qualità

Cosa sono e a cosa servono le metriche IT

Cosa sono le metriche IT? Sono delle misurazioni di grandezze significative del mondo dell’Information Technology che aiutano a controllare e migliorare i processi. Come in tutti i processi complessi, l’abilità sta nel trovare un numero limitato di grandezze misurabili che non solo costituiscono un buon indicatore di come stanno andando i processi e le performance del nostro prodotto, ma ci permettono di migliorare entrambi questi aspetti  attraverso interventi mirati a variare i valori di tali grandezze.

Sembra complicato? Un po’ lo è, perché non è affatto semplice individuare le metriche più adeguate a questo tipo di controllo attivo. Dopo alcuni tentativi con metriche definite internamente, abbiamo scelto di adottare le indicazioni ben presentate nel libro “Accelerate – Accelerate: The Science of Lean Software and DevOps” e inserite tra gli argomenti principali, dal 2012 ad oggi, delle pubblicazioni del State of DevOps Annual Report

Misurare per migliorare: come le metriche IT accelerano le performance del business

In seguito ad una ricerca molto ampia, durata anni e che ha coinvolto migliaia di aziende, gli autori delle pubblicazioni sopra citate sono arrivati ad affermare che c’è una diretta correlazione tra performance IT eccellenti e risultati altrettanto buoni a livello di business per le aziende del settore digitale. Questi studi hanno individuato cinque metriche principali nelle quali tutti i top performer nell’IT (i big e le aziende più all’avanguardia) raggiungono risultati di eccellenza. Le aziende che hanno adottato questi stessi indicatori e che sono riuscite ad eguagliare i valori degli “Elite performer” su tutte e cinque le metriche hanno avuto un tasso di crescita ben superiore alle altre, a conferma di quanto sia estremamente efficace e importante implementare un set di KPI IT. Il raggiungimento dell’eccellenza sui risultati della tecnologia diventa, in sintesi, un fattore abilitante per accelerare le performance a livello di business. 

Le 5 metriche IT per garantire velocità e qualità al tuo business

Le 5 metriche IT di cui abbiamo parlato finora si basano su concetti davvero semplici: velocità e qualità. Il messaggio è il seguente: occorre rilasciare valore ai clienti in modo rapido continuo e frequente. Più si va veloci e più c’è rischio di fare errori, quindi bisogna tenere sotto controllo anche la frequenza degli errori ed il tempo richiesto per ripristinare dopo un malfunzionamento.

Traducendo in numeri questo concetto, si ottengono le 5 grandezze misurabili da usare come metriche:

  • Lead Time For Changes (LTFC): tempo medio che intercorre dall’inizio di una lavorazione a quando la si mette a disposizione del cliente (“in produzione”)
  • Deployment frequency: frequenza con cui si rilasciano novità o aggiornamenti in produzione
  • Change Failure Rate (CFR): frequenza degli aggiornamenti in produzione eseguiti per ripristinare un problema causato da un aggiornamento recente
  • Mean Time To Recover (MTTR): tempo medio impiegato per il ripristino dopo un problema grave che si verifica in produzione e che ha avuto impatti sui clienti
  • Availability: percentuale di tempo in cui i servizi della piattaforma sono stati pienamente disponibili (ottenuta dopo aver sottratto la somma di tutti i tempi di ripristino).

Le metriche IT di MailUp

In MailUp abbiamo adottato queste metriche dal settembre 2020 tramite strumenti di misurazione automatica, impostando un processo continuo in cui:

  • teniamo monitorati gli andamenti delle misure
  • ci fissiamo degli obiettivi da raggiungere 
  • individuiamo le azioni necessarie per arrivarci.

È  un percorso da affrontare con le dovute attenzioni, perché ad un aumento repentino della velocità può corrispondere un peggioramento della qualità.

Un errore frequente è quello di dimenticarsi che le metriche sono degli indicatori indiretti attraverso i quali vogliamo migliorare un processo. Quello che conta non è quindi la misura fine a sé stessa, ma l’impatto sul processo e sul prodotto che abbiamo quando riusciamo a far muovere quella misura.   

Con riferimento alla figura, andiamo a vedere più nel dettaglio come calcoliamo queste metriche in MailUp:

processo di misurazione metriche

Il Lead Time For Changes lo calcoliamo come una media sugli ultimi tre mesi del tempo che una storia (o task), corrispondente ad una issue Jira, impiega a transitare dall’inizio della lavorazione alla pubblicazione in produzione. La suite Atlassian Jira ci aiuta in questo perché permette di misurare il “time in status” di una storia, ovvero il tempo in cui una issue è rimasta in un determinato status , per ogni transizione del suo workflow. I dati sono poi visualizzabili su un Control Chart di Jira o attraverso dashboard che realizziamo ad hoc con Tibco Spotfire, importando ed aggregando i dati di Jira. 

Le issue sono i mattoni di qualsiasi progetto e possono rappresentare sia un problema da risolvere (come un bug), sia un’attività in generale che deve essere completata dal team o da alcuni membri dello stesso. Il software Jira, infatti, nasce con lo scopo di monitorare non solo i problemi, ma anche per tenere traccia di un intero flusso di lavoro. Noi di MailUp usiamo 4 tipologie standard di issue in Jira: story (qualcosa che interessa principalmente l’utente stesso), bug (un problema da risolvere), task (un’attività da completare) ed epic (una grande story che può essere composta in un numero più piccolo di storie). 

In MailUp misuriamo anche il Lead Time To Deploy, cioè il tempo che intercorre dall’ultima modifica al codice sorgente alla messa in produzione. 

Per la deployment frequency e il CFR abbiamo integrato i nostri processi automatici di rilascio in produzione (pipeline di deployment) con un flusso che registra su un database le informazioni significative per le metriche. Il tecnico che esegue un intervento sull’ambiente di produzione deve solo specificare se si tratta di un rilascio ordinario oppure di un hotfix (correzione rapida) o di un rollback (ripristino della versione precedente). 

Il MTTR e la Availabilty si basano sulla definizione di “incident”, che abbiamo definito internamente come un disservizio in produzione con impatto e severità superiori ad una certa soglia. Per ogni incident è obbligatoria la compilazione di una “scheda incident” su Atlassian Jira, nella quale sono indicati diversi elementi tra cui la durata, la causa, gli effetti, gli impatti e il tipo di risoluzione. I dati delle schede incident sono poi estratti da un processo automatico per poterli elaborare e rappresentare graficamente. 

Per ciascuna delle metriche descritte abbiamo a disposizione i trend relativi al loro andamento nel tempo e troviamo molto utile l’utilizzo della media mobile sugli ultimi 3 o 4 mesi come misura di riferimento, in modo da contestualizzare e compensare elementi fuorvianti come un picco isolato oppure l’inerzia di una finestra di valutazione troppo grande. 

Queste metriche sono sufficienti per noi? Sono certamente un’ottima base di partenza per comprendere  lo stato di salute della parte tecnologica anche se il nostro orizzonte futuro è già proiettato su due step ulteriori:

  • l’integrazione di queste metriche con altre misure significative, come la velocità di accesso alle pagine della piattaforma
  • l’introduzione di un livello di maggiore specificità sugli indicatori esistenti, andando a dettagliarli tramite sotto-metriche per fare “drill-down” (approfondimenti).

Conclusione

Questa era una breve panoramica su cosa significa e quali vantaggi può garantire l’implementazione di un set di metriche IT per migliorare le performance generali del business. Se vuoi  saperne di più sulle metriche e su come sono calcolate, vai a questo link!

Questo articolo è stato scritto da

Sergio Cigoli

Sergio Cigoli

Software Development Manager

Lavoro nell'IT da più di 20 anni. Le tecnologie cambiano, tenermi aggiornato è per me una piacevole necessità. In MailUp sono principalmente focalizzato sull'implementazione di processi agili, sulla supervisione dei team tecnici e sulla definizione di obiettivi guidati dai dati.

Articoli correlati