Tecniche di Stima per Progetti Software - Corso Aziendale


Descrizione Dettagli Programma Peculiarità Contatti
 
Quanto ci vuole? Questa e' probabilmente una delle domande che ogni programmatore, progettista, responsabile di progetto si sente porre piu' spesso. Qualunque sia il processo di sviluppo adottato, che si tratti di stimare lo sforzo per realizzare brevi user story o interi progetti, la stima e' presente all'interno di ogni attivita' di sviluppo.

Tuttavia la stima e' spesso vissuta in modo errato, come una promessa one-shot anziche' come un processo, che tende via via a ridurre l'intrinseca incertezza di molti progetti software. Oppure viene vista come un inefficiente gioco contrattuale, dove il programmatore deve cautelativamente sovra-stimare, ed i manager cercano di comprimere i tempi.

Questo corso affronta la complessa tematica della stima sotto ogni aspetto: il processo, le tecniche, gli strumenti.

Il processo riconosce la natura incerta della stima e propone diversi approcci per gestirla.

Le tecniche spaziano dagli approcci model-based tradizionali (CoCoMo, Function Points) alla stima esperta, che e' di fatto la piu' praticata, non trascurando l'approccio agile alla stima.
Per ogni tecnica, vengono chiariti gli scenari di utilizzo preferenziali, mostrati approcci innovativi per migliorarla (nei tempi richiesti, o nell'accuratezza dei risultati, ecc), e in diversi casi vengono mostrati tool, disponibili gratuitamente, in grado di aiutarci durante l'attivita' di stima.

Tutta la trattazione e' fortemente ancorata al dominio del software, con le sue precise peculiarita'. Laddove e' necessario, vengono rapidamente introdotti alcuni formalismi matematici, utili per comprende piu' a fondo alcune tecniche e tool (in particolare, per gestire in modo statistico l'incertezza complessiva di un progetto decomposto in attivita' multiple).

Allo stesso modo, vengono introdotti ove necessario alcuni concetti fondamentali di project management (differenza tra sforzo e durata, cammino critico, ecc). In questo senso, questo corso e' spesso consigliato come propedeutico al corso di Software Project Management, che esplora in senso piu' ampio le variegate problematiche di gestione di un progetto software.