Lezione 1 – Introduzione alla stima dei costi Ingegneria del software Modulo 2 - Il software come prodotto Unità didattica 2 - I costi del software Ernesto Damiani Università degli Studi di Milano Stima dei costi (1) La stima dei costi di sviluppo del software è necessaria • Il 55% dei progetti supera il budget iniziale – 24 aziende svilupparono sistemi distribuiti di grandi dimensioni (1994) – Il 53% dei progetti costò il 189% in più rispetto alle stime iniziali – Dati Standish Group su 8380 progetti (1994) Stima dei costi (2) • Spesso i costi si misurano in termini di sforzo (cioè mesi/anni uomo) • La stima è sempre approssimata – Molte variabili • Ambienti di sviluppo diversi determineranno differenti parametri di costo – Costi di gestione – Costi di sviluppo Costi di formazione professionale Assicurazione della qualità – Risorse Stima dei costi (3) La stima dei costi influenza molti aspetti • Pianificazione e budget – Priorizzazione dei requisiti – Programma di lavoro – Allocazione delle risorse • Gestione dei progetti – Personale – Task Stima dei costi durante il ciclo di vita del software (1) • La stima dei costi dovrebbe essere eseguita durante tutto il ciclo di vita del software • Il successo di un metodo di stima dei costi non è dato necessariamente dalla precisione delle stime iniziali, ma piuttosto dalla velocità a cui le stime convergono al costo effettivo Stima dei costi durante il ciclo di vita del software (2) • Un controllo e un monitoraggio efficaci dei costi del software sono indispensabili per verificare e migliorare la precisione delle stime – La raccolta dei dati non dovrebbe essere invasiva – Arrivare comunque al livello di dettaglio appropriato Chi esegue la stima? • Il responsabile dell’implementazione – Di solito una persona esperta – Confronta il progetto corrente con i progetti precedenti dell’azienda • Qualcuno al di fuori dell’azienda – Fornisce una stima imparziale – Tende ad usare metodi empirici di stima Difficoltà: » Mancanza di fiducia che un modello abbia più valore di un esperto » Mancanza di dati storici per calibrare il modello Passi e commenti generali (1) • Impostare le rilevazioni – Stabilire quali dati raccogliere – Specificare il motivo per cui si raccolgono quegli specifici dati – Indicare cosa si spera di eseguire • Effettuare la stima dei costi relativamente i requisiti iniziali – Scomposizione • Usare più metodi contemporaneamente – Non esiste una tecnica perfetta – Se si individuano delle discordanze nei metodi, è meglio rivalutare le informazioni usate per eseguire le stime Passi e commenti generali (2) • Ripetere le stime durante il ciclo di vita • Eseguire i cambiamenti necessari allo sviluppo • Fare una valutazione finale della stima dei costi alla conclusione del progetto FINE