La Manutenzione del Software

lug 5, 2024 | Software Intelligence in Action La Manutenzione del Software

La manutenzione del software è definita come il processo di correzione e sviluppo che avviene dopo la release del prodotto finale in un ambiente di produzione. Il software entra nello stato di manutenzione non appena viene rilasciato in produzione e messo a disposizione degli utenti. Da questo momento, il gruppo di tecnici della manutenzione (che può essere lo stesso gruppo che ha sviluppato il software o un gruppo distinto) si occuperà della correzione di bug, problemi prestazionali, modifiche e aggiornamenti necessari per soddisfare le esigenze degli utilizzatori.

La manutenzione del software è una parte imprescindibile del ciclo di vita dello sviluppo software (SDLC) e copre il periodo che va dal rilascio del software in produzione fino alla sua dismissione definitiva. La fase di manutenzione è spesso molto più lunga di quella di sviluppo. Utilizzare al meglio i team di manutenzione è fondamentale per risparmiare risorse e garantire la soddisfazione degli utenti.

L’utilizzo di CAST Highlight (HL)

Cast Highlight è un software-as-a-service (SaaS) per l'analisi del portfolio applicativo.
Questa soluzione è progettata per essere veloce, intuitiva e facile da usare. Analizza le applicazioni custom aziendali e fornisce una valutazione dello stato, generando metriche su rischio software, complessità, dimensioni e altri indicatori chiave, tra cui le stime di manutenzione del software (Software Maintenance Estimates).

La Software Maintenance Estimates di HL

La stima per la manutenzione del software si basa sul modello COCOMO II (Costruttive Cost Model – Post Architecture) ed è espressa in FTE (Full-Time Equivalent). Questo indicatore viene calcolato sulla base di:

  • SW Maintenance Surveys, fornite dall’amministratore del sw, contenenti informazioni che forniscono indicazioni specifiche sul sw e del gruppo che lo manutiene (sw business impact, development team skill level, turnover ratio, estimated code base change, …)
  • Analisi della qualità del software calcolata durante la scansione del codice sorgente. In questo caso si prendono in considerazione gli Indicatori di qualità di SW Agility (quanto il sw è semplice da cambiare) ed Elegance (quanto il sw è facile da capire)
  • Altri parametri di calcolo che utilizzano dei fattori di costo definiti in COCOMO II model (per dettagli: Cost Drivers )

Sulla base di queste informazioni vengono prodotti i seguenti indicatori:
- Recorded Software Maintenance, numero di FTE assegnati alla manutenzione.
- Recommended Software Maintenance, quanto è il valore ottimale stimato dal tool Cast Highlight

CAST_HL_Software_Maintenance-1

Come interpretare questi risultati

I risultati sono presentati sia a livello di portfolio applicativo (cioè su tutto il parco applicativo misurato da HL) sia a livello di singola applicazione.

A livello di portfolio, il grafico del Portfolio Advisor segmenta le applicazioni in base alle azioni raccomandate, richiedendo diversi livelli di attenzione e risorse. Ci sono sei livelli: Invest Resources, Reallocate Resources, Develop Team Skills, Reduce Turnover, Get Deeper Software Intelligence e Role Models.

CAST_Highlight_Software_Maintenance-2

Queste raccomandazioni forniscono indicazioni specifiche sulle azioni da intraprendere per bilanciare al meglio le risorse all'interno del portfolio e migliorare le performance del team.

Sono fornite quindi viste con la distribuzione delle risorse:

CST_HL_resources_allocated_to_maintenance

CST_HL_resources_allocated_to_maintenance_details

Con un dettaglio per singola applicazione:

CAST_Highlight_Application_Maintenance

Conclusioni

Cast HL, sulla base di dati misurati e sulla base di sondaggi effettuati con i proprietari del sw, fornisce indicazioni precise sulla distribuzione delle risorse per la manutenzione, identificando dove ci sono risorse in eccesso o carenti. Questo permette una migliore ottimizzazione delle risorse all'interno del portfolio applicativo e suggerisce eventuali azioni per migliorare la performance del team di manutenzione.