Domenico Clerici, Luigi Petruzzelli - LA GESTIONE QUANTITATIVA DI PROGETTI SOFTWARE (2008)
INDICE
PREFAZIONE xiii
RICHIAMI DI PROJECT MANAGEMENT 19
- 1.1 - Introduzione al project management 19
- 1.1.1 - Perché il project management? 19
- 1.1.2 - Il ciclo di vita 20
- 1.1.3 - L’organizzazione 20
- 1.2 - Project management classico, estremo, adattativo 22
- 1.3 - La nascita di un progetto 26
- 1.3.1 - Gli obiettivi 26
- 1.3.2 - Criteri di successo del progetto 28
- 1.4 - L’arte della stima 29
- 1.4.1 - La Work Breakdown Structure 29
- 1.4.2 - Tempi 31
- 1.4.3 - Risorse 32
- 1.4.5 - Costi 33
- 1.5 - Le persone e la composizione dei gruppi di lavoro 34
- 1.5.1 - Composizione dei gruppi di lavoro 35
- 1.5.2 - Le altre risorse 38
- 1.6 - I rischi 38
- 1.7 - La tempificazione 39
- 1.7.1 - Il reticolo del progetto 39
- 1.7.2 - Cenni a CPM e PERT 44
- 1.7.3 - Assegnazione e bilanciamento delle risorse 45
- 1.7.4 - Anticipare o posticipare la conclusione del progetto 47
- 1.7.5 - Gantt 48
- 1.7.6 - Assegnare i lavori 48
- 1.7.7 - Probabilità di concludere in tempo 49
- 1.8 - Il controllo dell’avanzamento 50
- 1.8.1 - Il reporting 50
- 1.8.2 - Il controllo 51
- 1.8.3 - Stato di avanzamento lavori (SAL) 52
- 1.8.4 - La Earned Value Analysis 54
- 1.8.5 - Azioni correttive e ripianificazione 57
- 1.9 - Le modifiche e la manutenzione 58
- 1.10 - La chiusura del progetto 59
CICLI DI VITA E APPROCCI ALLO SVILUPPO DI SOFTWARE 61
- 2.1 - Ciclo di vita a cascata 62
- 2.2 - Ciclo di vita a “V” 69
- 2.3 - Metodi incrementali / iterativi 69
- 2.3.1 - Ciclo di vita a spirale 70
- 2.3.2 - Prototipazione 71
- 2.3.3 - RAD: Rapid Application Development 73
- 2.4 - Metodi “agili” 74
- 2.4.1 - Scrum 76
- 2.4.2 - XP: Extreme Programming 78
- 2.4.3 - FDD: Feature Driven Development 80
- 2.5 - I non-metodi 81
METODI DI STIMA 85
- 3.1 - Metodi empirici e metodi analitici 88
- 3.2 - Cosa stimare? 91
- 3.3 - Stime per analogia 92
- 3.4 - Stime basate sul giudizio di esperti 93
- 3.5 - Stime top-down e bottom-up 95
- 3.6 - Punti funzione e loro evoluzione 95
- 3.6.1 - I punti funzione di Albrecht 96
- 3.6.2 - Evoluzione dei punti funzione 97
- 3.7 - COCOMO 98
- 3.8 - Cenni ad altri metodi 101
- 3.8.1 - Il modello teorico di Norden 101
- 3.8.2 - Il modello di Putnam 103
- 3.9 - Stima e metodi “agili” 104
- 3.10 - I non-metodi 105
I RISCHI 107
- 4.1 - La valutazione del rischio 109
- 4.1.1 - Liste di controllo 110
- 4.1.2 - Matrici di rischio 111
- 4.1.3 - Metodo Monte Carlo 112
- 4.2 - Il controllo del rischio 114
- 4.2.1 - Pianificazione della gestione 114
- 4.2.2 - Monitoraggio e risoluzione 115
- 4.3 - La difettosità: cenni ai Reliability Growth Models 116
COSTRUZIONE DI MODELLI BASATI SU DATI STORICI 121
- 5.1 - La definizione dei modelli 121
- 5.2 - Modello per lo scostamento preventivo/consuntivo 125
- 5.3 - Modello per la percentuale di attività del ciclo di vita 128
- 5.4 - Modello per gli indici di straordinario/assenza 129
- 5.5 - Modello per la distribuzione dell’impegno 131
- 5.6 - Cenni ai modelli lineari 135
COSTRUZIONE DI MODELLI BASATI SU CONSIDERAZIONI TEORICHE 139
- 6.1 - Il modello di Norden e la distribuzione di Rayleigh141
- 6.2 - Cenni alla costruzione di un modello basato sul ciclo di vita 145
- 6.2.1 - Distribuzioni base per i modelli 145
- 6.2.2 - Composizione di distribuzioni 146
- 6.2.3 - Costruzione di un modello per un ciclo di vita nuove tecnologie 148
UNA VISIONE PER PROCESSI 151
- 7.1 - Cos’è un processo 151
- 7.2 - I processi aziendali 152
- 7.3 - Il processo di project management 154
- 7.4 - Interazioni tra macroaree aziendali 159
- 7.5 - Il miglioramento dei processi 161
- 7.5.1 - Definire gli obiettivi 163
- 7.5.2 - Individuare il punto di partenza 163
- 7.5.3 - Implementare le azioni di miglioramento 164
- 7.5.4 - Verificare il punto di arrivo 165
- 7.5.5 - Il miglioramento continuo 165
PRINCIPALI STANDARD PER LA QUALITÀ E IL MIGLIORAMENTO DEL SOFTWARE 167
- 8.1 - ISO/IEC 90003: la guida per il software di ISO 9001 167
- 8.2 - ISO/IEC 12207: i processi per il software 168
- 8.3 - ISO/IEC 15504 “SPICE”: assessment per i processi software 169
- 8.4 - CMMI® 171
- 8.5 - ami 174
- 8.6 - ISO/IEC 14764: la manutenzione del software 174
LE METRICHE E L’INTRODUZIONE DI UN PROGRAMMA DI MISURAZIONE 177
- 9.1 - Le metriche e le loro caratteristiche 178
- 9.2 - Introduzione di un programma di misurazione 181
- 9.3 - Gli standard ISO/IEC 9126 e ISO/IEC 14598 183
- 9.4 - I moduli di valutazione 184
METRICHE DI PROCESSO E DI PROGETTO 189
- 10.1 - Gli assessment 190
- 10.2 - Alcune metriche di processo 190
- Conformità delle attività 190
- Copertura delle review 191
- Incidenza di ciascuna fase 191
- Produttività 191
- Efficacia nella rimozione dei difetti 192
- Costo di risoluzione dei problemi 195
- 10.2.1 - Alcune metriche per il processo di manutenzione 195
- Fix backlog 196
- Indice di backlog management (BMI) 196
- Fix difettosi 196
- Percentuale di fix eccedenti i tempi di risposta 197
- Durata media di risoluzione dei problemi 197
- Altre metriche per la manutenzione 198
- 10.3 - Alcune metriche di progetto 198
- Deviazione dalle previsioni 198
- Tipo di progetto 199
- Impegno di sviluppo del progetto 199
- Funzioni da modificare / funzioni implementate 199
- Funzioni implementate / funzioni richieste 200
- Profilo della rimozione dei difetti 200
- Densità dei difetti durante il testing 201
- Profilo della segnalazione dei difetti durante il testing 201
METRICHE DI PRODOTTO 203
- 11.1 - Metriche di base 205
- LOC (linee di codice) 205
- Complessità ciclomatica di McCabe 205
- LOC commento / LOC 207
- Nomi autodescrittivi / nomi 208
- Salti incondizionati 208
- LOC / modulo 208
- Depth of Nesting 209
- Fan-out 209
- Fan-in 209
- 11.2 - Altre metriche significative 209
- Profondità architetturale 209
- Deviazione da un albero 210
- Maximum Depth of Nested Loops 211
- Relazione complessità interna / esterna 211
- Static Path Count 212
- Indice di copertura dei test 212
- La Software Science di Halstead 212
- Metriche di conteggio 213
- Alcune altre metriche 213
- 11.3 - Metriche relative all’affidabilità 214
- Densità dei difetti 214
- MTTF e MTBF 215
- Guasti / ore d’uso 215
- PUM 216
- 11.4 - Cenni alle metriche per il software orientato agli oggetti 216
- WMC 217
- DIT 218
- NOC 218
- RFC 218
- CBO 219
- LCOM 219
UNA METODOLOGIA DI PROJECT MANAGEMENT BASATA SUI MODELLI 221
- 12.1 - L’importanza della memoria 223
- 12.2 - L’organizzazione 224
- 12.3 - Il ciclo di vita 225
- 12.4 - La pianificazione 226
- 12.5 - Il reporting 229
- 12.6 - Il controllo e le azioni correttive 230
- 12.7 - Interazioni con gli altri processi 232
- 12.8 - Il miglioramento 233
PICCOLA GUIDA ALLA SCELTA DEGLI STRUMENTI DI SUPPORTO 235
- 13.1 - Come selezionare uno strumento 235
- 13.2 - Determinare le proprie esigenze 236
- 13.3 - Altri aspetti da tenere in considerazione 238
- 13.4 - Costruzione di una griglia di valutazione 240
- 13.5 - Scelta dello strumento 241
BIBLIOGRAFIA 243
GLOSSARIO 247
Torna all'inizio della pagina