Qualità del software: come si garantisce?

Cast, azienda leader nella Software Intelligence, ha condotto nel 2017 una ricerca ancora valida incentrata sulla qualità strutturale del software per le aziende.

Sono state individuate cinque caratteristiche per determinare la qualità del software: robustezza, sicurezza, efficienza delle prestazioni, trasferibilità, modificabilità. Approfondiamo queste definizioni.

  • Robustezza: misura la probabilità di interruzioni (crash), la probabilità di corruzione dei dati, e la difficoltà di ripristino di tali dati.
  • Sicurezza: misura la possibilità di accessi non autorizzati, vulnerabilità della privacy e utilizzo fraudolento dei dati stessi.
  • Efficienza: misura l’utilizzo delle risorse del computer (processore, memoria, reti…) e la degradazione delle prestazioni causata da un utilizzo inefficiente di tali risorse.
  • Modificabilità: misura la difficoltà di modificare applicazioni per aggiungere funzionalità, correggere errori, migrare l’ambiente dell’applicazione.
  • Trasferibilità: misura la difficoltà di utilizzare il software in modo produttivo in ambienti diversi da quello lavorativo (per es. a casa).

Sono le violazioni delle buona pratiche architetturali e di sviluppo del codice in questi cinque campi che ne degradano la qualità.

Raccomandazioni chiave per gli sviluppatori

Ecco una serie di importanti raccomandazioni rivolte ai team di sviluppo:

  1. Le attività di valutazione del software dovrebbero essere condotte nell’ambito specifico della categoria tecnologica in esame. I fattori che variano all’interno di ogni azienda, infatti, possono influenzare i risultati dell’analisi.
  2. Va riservata un’importanza molto maggiore alle pratiche di codifica sicure: l’approccio deve essere quello della security by design, ovvero sviluppare la sicurezza del software integrandola a partire dall’inizio del progetto.
  3. È necessario migliorare la maturità dei processi di codifica, che devono essere ben consolidati e sperimentati.
  4. Le metodologie di sviluppo più efficaci sembrano essere quelle ibride, che integrano una dettagliata pianificazione architetturale a rapidi e reiterati feedback sulla qualità.
  5. Il numero ottimale di di membri in una squadra di programmazione per garantire la migliore qualità è di solito inferiore a dieci.
  6. Maturità organizzativa, dimensioni e metodologie del team influenzano la qualità del software più della fonte e del luogo di sviluppo.
  7. È importante analizzare più volte il codice sorgente prima di rilasciarlo, così da identificare eventuali violazioni delle regole di qualità. Queste infatti sono spesso costose e lunghe da risolvere.
  8. Il miglioramento della qualità strutturale del software deve essere concepito come un progetto iterativo, ossia deve passare attraverso numerosi rilasci e revisioni.

Leggi l’approfondimento su zerounoweb.it