Logo

Tecnologie Informatiche

Consulenze per Lavori Estremi

Cover image based on the work Walls2 - Copyright 2008 Daniele Camaioni

Chi siamo La gestione quantitativa di progetti software   
Presentazione di TICLE Presentazione del libro
Gli autori
Prefazione
Contattaci Indice
Presentazione in formato PDF Introduzione alla metodologia
Scarica presentazione libro in PDF


Domenico Clerici, Luigi Petruzzelli - LA GESTIONE QUANTITATIVA DI PROGETTI SOFTWARE (2008)

PREFAZIONE

Questo libro nasce da un’opera incompiuta. Nel 2006 abbiamo pubblicato il volume Knowledge Based Project Management, dedicato da un lato alla gestione di progetti generici, dall’altro alla presentazione di quanto poteva essere di interesse generale nell’ambito della nostra esperienza di gestione dei progetti software. Fin dalla sua pubblicazione avremmo voluto includere altre parti, appunto quelle rivolte più specificamente allo sviluppo di software. Ma il tempo era tiranno, e lo spazio limitato; così abbiamo dovuto aspettare un po’ prima di riuscire a preparare il volume che avete in mano.

Riallacciandoci sia alla nostra esperienza, sia allo spirito di alcuni punti dello standard ISO 9001, che pone in risalto l’importanza della misurazione, abbiamo voluto presentare una panoramica della gestione quantitativa relativa allo sviluppo di software.

Nessuno dei capitoli è esaustivo, e tutti devono intendersi come un primo approccio agli argomenti proposti. Su ciascuno di questi potrebbe essere scritto almeno un libro, e in più di un caso lo è stato.

Partiamo da una vista d’insieme sulla gestione dei progetti e sui cicli di vita del software, che ci permette sia di fornire una breve introduzione sia di precisare la terminologia impiegata nel seguito del libro. Si passa quindi ai punti tradizionali in cui i metodi quantitativi fanno la parte del leone: stime, rischi, modelli. Si prosegue con una presentazione dei processi aziendali e del loro miglioramento, nonché dei principali standard a essi collegati per quanto concerne il software.

Si descrivono poi le metriche: di processo e progetto, ma anche di prodotto. Quindi un piccolo esempio di quella che è la nostra esperienza nell’applicare metodi quantitativi alla gestione di piccoli gruppi di progetto (fino a otto persone) per una trentina di persone complessive.

Conclude il volume una succinta guida metodologica per scegliere gli strumenti software più adatti.

Il libro, organizzato come descritto di seguito, si rivolge a chi desidera delle informazioni di base su come gestire quantitativamente processi o progetti di sviluppo software. I punti di maggior interesse potranno poi essere approfonditi tramite la vasta letteratura esistente.

Cap. 1 - Richiami di project management

Per poter parlare di gestione quantitativa dei progetti occorre per prima cosa affrontare la gestione dei progetti. Ci proponiamo di introdurre soltanto i concetti basilari del project management per presentarne una visione introduttiva e di insieme, oltre che per definire una terminologia comune.

Cap. 2 - Cicli di vita e approcci allo sviluppo di software

Un progetto di sviluppo software non deve essere affrontato “a caso”, ma scegliendo con cognizione di causa l’approccio più adatto alle sue caratteristiche e alla propria organizzazione. Presentiamo una panoramica dei più diffusi cicli di vita, o anche più semplicemente approcci allo sviluppo, da quelli classici e consolidati alle tendenze attuali.

Cap. 3 - Metodi di stima

Dopo aver incontrato i nostri attori, possiamo finalmente passare al primo esempio di metodi quantitativi: la stima di un progetto software (tempi, costi, risorse), in relazione alla quale forniremo una panoramica delle principali tecniche. L’esperienza delle persone deputate alla stima è insostituibile, ma può essere validamente affiancata da metodologie che si basano su dati obiettivi e modelli matematici.

Cap. 4 - I rischi

Non importa quanto una pianificazione sia stata accurata, un progetto è comunque sottoposto a rischi. Il problema è capire quanto i rischi siano elevati, cosa comporti il loro concretizzarsi e come si possano individuare le minacce prima che si attuino, intraprendendo le azioni più opportune per contrastarle. Un “rischio” particolare per le fasi successive al rilascio di un progetto sono i difetti, e nella parte conclusiva del capitolo presentiamo alcuni modelli utili per prevederli.

Cap. 5 - Costruzione di modelli basati su dati storici

Un modello è una rappresentazione di un fenomeno che ne riproduce le caratteristiche di interesse. Il suo obiettivo è, sulla base di parametri in ingresso, fornire stime attendibili di una o più grandezze. Per esempio, sulla base delle dimensioni stimate di un progetto software, determinarne il costo. Qui offriamo una panoramica sui modelli in generale, e mostriamo quindi in particolare come sia possibile costruire modelli basati sui dati storici dei propri progetti.

Cap. 6 - Costruzione di modelli basati su considerazioni teoriche

Presentiamo un secondo approccio alla costruzione dei modelli. In assenza di dati storici, possiamo ricavare i modelli basandoci sulla formulazione matematica di considerazioni teoriche, e quindi verificare quanto i nostri progetti si comportano come teoricamente previsto. Solitamente sarà poi necessaria una fase di “adattamento” dei modelli alla realtà progettuale.

Cap. 7 - Una visione per processi

Alla classica visione di un’organizzazione per aree aziendali si è da tempo affiancata una visione trasversale “per processi”, attualmente sempre più diffusa anche grazie alle norme della serie ISO 9000 e ad altri standard internazionali. Presentiamo dapprima una succinta vista dei processi che entrano in gioco nello sviluppo di software; intervenire su questi processi significa guadagnare in efficacia o efficienza, con un conseguente ritorno economico. Nella parte finale del capitolo descriviamo un metodo di validità generale per il miglioramento dei processi.

Cap. 8 - Principali standard per la qualità e il miglioramento del software

Riportiamo una succinta guida ai principali standard per la qualità e il miglioramento nell’ambito dei processi di sviluppo software. La parte principale è svolta naturalmente dagli standard ISO, International Organization for Standardization, che di fatto sono quelli più utilizzati in ambito industriale.

Cap. 9 - Le metriche e l’introduzione di un programma di misurazione

Oltre a definire modelli o metodi che forniscano valori, numerici o meno, per poter parlare di gestione quantitativa è indispensabile misurare i propri processi, progetti, prodotti. Ciò fornirà la base da un lato per conoscere obiettivamente la propria situazione attuale, e dall’altro per dimostrare i miglioramenti. Qui presentiamo alcune generalità sulle metriche, oltre a qualche traccia utile per introdurre un programma di misurazione nella propria organizzazione.

Cap. 10 - Metriche di processo e di progetto

Descriviamo alcune metriche utili per misurare progetti specifici o, più in generale, efficacia ed efficienza dei processi di sviluppo. Dato il gran numero di processi che entrano in gioco nella realizzazione del software, ci limitiamo a quelli che riteniamo prioritari, sperando comunque di offrire una traccia al lettore interessato a misurare anche gli altri.

Cap. 11 - Metriche di prodotto

Mentre si è generalmente concordi sull’impiego di metriche di progetto o di processo, l’utilizzo di metriche di prodotto è abbastanza controverso. Riteniamo tuttavia che l’uso di alcune metriche di prodotto selezionate possa contribuire al miglioramento della qualità del software. Perciò presentiamo le metriche più note, limitandoci a citarne altre più “esotiche” o meno diffuse.

Cap. 12 - Una metodologia di project management basata sui modelli

Dopo aver trattato nelle linee essenziali la gestione quantitativa dei progetti software, indichiamo un possibile modo di monitorarli. Si tratta di una vista a livello abbastanza alto, come supervisione di più progetti contemporaneamente, alla quale si affianca un quadro più dettagliato per il singolo progetto. L’intento del capitolo è mostrare come, scegliendo opportunamente tra le tecniche indicate, sia possibile individuare una metodologia di gestione dei progetti basata su dati obiettivi e adatta alla propria organizzazione.

In sintesi, il nostro approccio è orientato soprattutto
•    a una visione d’insieme del portafoglio progetti, inclusa la definizione del budget e delle risorse necessarie;
•    alla predizione dell’impegno, delle risorse e dei costi fin dalle prime fasi progettuali, basata ove possibile sui progetti sviluppati in precedenza dall’organizzazione;
•    al controllo degli scostamenti progettuali;
•    all’ottimizzazione dell’impegno delle persone.

Cap. 13 - Piccola guida alla scelta degli strumenti di supporto

Per mettere in pratica quanto visto finora servono degli strumenti di supporto. Ne esistono di vari tipi: come scegliere il più adatto alle proprie esigenze? Forniamo una piccola guida per orientare la scelta; non abbiamo volutamente inserito un elenco ragionato degli strumenti presenti sul mercato, in quanto sono in continua evoluzione.


Per concludere, nello scrivere questo volume ci siamo proposti di fornire un’introduzione non superficiale alla gestione quantitativa di progetti e processi software. E speriamo che il lettore, terminato il libro, vorrà dirci che ci siamo riusciti.


Milano, giugno 2008

Torna all'inizio della pagina