Esaminare le metriche di complessità e qualità
Esistono varie metriche di qualità. Di seguito vengono riportate alcune delle più importanti.
Le metriche di complessità possono aiutare a misurare la qualità. La complessità ciclomatica misura il numero di percorsi linearmente indipendenti attraverso il codice sorgente di un programma. Un altro modo per valutare la qualità consiste nel calcolare le misure di complessità di Halstead.
Questa misura:
- Vocabolario del programma.
- Lunghezza del programma.
- Lunghezza calcolata del programma.
- Volume.
- Difficoltà.
- Lavoro richiesto.
Gli strumenti di analisi del codice possono essere usati per verificare considerazioni come la sicurezza, le prestazioni, l'interoperabilità, l'utilizzo del linguaggio e la globalizzazione e devono far parte del processo di compilazione software e del toolkit di ogni sviluppatore.
Eseguendo regolarmente uno strumento di analisi codice statico e leggendo il relativo output, è possibile migliorarsi come sviluppatori, traendo insegnamenti da quello che rilevano le regole del software.
Metriche comuni correlate alla qualità
Una delle promesse di DevOps riguarda la distribuzione più rapida di software di qualità superiore. In precedenza, queste due metriche erano quasi opposte. Con uno sviluppo più rapido, si otteneva una qualità inferiore. Per ottenere una qualità superiore, era necessario più tempo. Tuttavia, i processi DevOps possono aiutare a individuare in anticipo i problemi, per cui in genere la correzione richiede meno tempo.
In precedenza sono state descritti gli indicatore KPI e alcune metriche generali dei progetti. Di seguito è riportato un elenco di metriche direttamente correlate alla qualità del codice prodotto e ai processi di compilazione e distribuzione.
- Percentuale di compilazioni non riuscite: in generale, qual è la percentuale di compilazioni con esito negativo?
- Percentuale di distribuzioni non riuscite: in generale, qual è la percentuale di distribuzioni con esito negativo?
- Volume dei ticket: qual è il volume complessivo dei ticket dovuti a bug dei clienti?
- Percentuale di bug non risolti: qual è la percentuale dei ticket di clienti o bug che vengono riaperti?
- Percentuale di lavoro non pianificato: qual è la percentuale di lavoro complessivo che non è pianificato?