Cost Estimation

Stimare i costi di sviluppo del software è un’attività che richiede una grande professionalità. Il motivo è che si tratta di un’attività che richiede la conoscenza e l’applicazione di metodi matematici e statistici così come di creatività ed intuizione condite da una buone dose di esperienza pratica. Nel fare una stima dei costi del software mettiamo in moto sia l’emisfero sinistro del cervello, quello deputato in genere alla razionalità, al calcolo, alla strutturazione che quello destro deputato, invece, alla creatività, all’intuizione, all’analogia, all’emozione. DPO ha sviluppato decenni di esperienza in questo campo trovandosi in prima linea nella definizione di modelli, sistemi, prodotti, conoscenze utili allo scopo.

Come si fa una stima di progetto ?

Una stima può essere fondamentalmente di due tipi: diretta ed indiretta. Nel primo caso andiamo direttamente al cuore del problema dando un valore alla variabile che ci interessa (costo, impegno lavorativo, durata, staff) in base all’analogia e all’esperienza pregressa. Il processo assomiglia ad un iceberg: il grosso avviene sotto la superficie dell’acqua, in modo inconscio, spesso. Si sa dare un valore ma non si sa perché è giusto proprio quello, o, per lo meno, non si è in grado di spiegarlo con un algoritmo. Nel secondo caso, invece, la stima di una variabile deriva dall’applicazione di un modello di costo matematico basato su regole di origine empirica o assiomatica. Fornendo certi input il modello fornirà l’output richiesto. La calibrazione dei modelli è importante quanto la conoscenza dei fattori specifici che influenzano la stima.

Da cosa dipende l’effort di un progetto software ?

La prima variabile normalmente ricercata in un esercizio di stima è l’effort ovvero l’impegno lavorativo. Questo si misura in giorni persona, mesi persona oppure ore di lavoro. L’effort per la realizzazione di un prodotto dipende fortemente dalle caratteristiche intrinseche del prodotto stesso come la sua estensione funzionale, la sua qualità in termini di usabilità, modificabilità del codice, riutilizzabilità, livello di performance nei tempi di esecuzione e tanto ancora. Anche i vincoli sul processo produttivo o il suo stesso tipo possono influenzare produttività e quindi costo. In un modello ben fatto, dunque, si tiene conto dei requisiti funzionali (FUR), requisiti non funzionali (NFR) e dei requisiti sul processo produttivo nonché dei vincoli sulle principali variabili produttive (PRC). Questi ultimi due daranno luogo ad un impatto diretto sulla produttività con cui si realizzano le funzioni oppure ad un lavoro non proporzionabile alle funzioni. Ad esempio se si deve impiantare un ambiente di prova delle performance, questo costo non dipenderà da quante funzioni dovranno essere realizzate, sarà un costo fisso invariante.

Scopri le nostre proposte !