MokaByte 105 - Marzo 2006
 
MokaByte 105 - Marzo 2006 Prima pagina Cerca Home Page

 

 

 

Dal RAD al Project Management: MDA non è mai stata così "Agile"
Parte II – Project Management con PRINCE2

Analizziamo come DSDM-MDA costituisca una combinazione di grande efficacia nei progetti PRINCE2

Introduzione
Nel numero precedente abbiamo avuto modo di esaminare come una metodologia così produttiva e flessibile come MDA possa essere efficacemente calata in quei contesti RAD che utilizzano una delle più diffuse e apprezzate "best practices", ossia DSDM. Abbiamo anche concluso affermando che tutto questo non era ancora sufficiente a garantire un vero e proprio controllo per ciò che concerne le varie attività, in quanto mancava ancora l'individuazione - e la conseguente messa in opera - di una adeguato framework di Project Management. Rivolgendo quindi la nostra attenzione a PRINCE2, metodologia di grande successo e in rapidissima diffusione, obiettivo del presente articolo è appunto quello di analizzare come in progetti gestiti con PRINCE2 possa essere impiegato il paradigma RAD secondo DSDM, quest'ultima implementata a sua volta con MDA.

 

PRINCE2: la filosofia
PRINCE2, ovvero PRojects IN Controlled Environments ([1]), è una metodologia di progetto che fin dal suo primo apparire si è imposta come estremamente promettente ed efficace, e ha ben presto valicato i confini geografici entro i quali è originariamente nata, quelli del Regno Unito. Anche in Italia PRINCE2 sta conoscendo sempre maggiore diffusione e successo, grazie anche a aziende (ad esempio [2]) riconosciute a livello internazionale come enti certificatori, impegnate tanto nell'erogare formazione quanto nel fornire consulenze specialistiche su progetti. Se a ciò aggiungiamo l'estrema flessibilità con cui è possibile impiegare PRINCE2 e un vasto numero di storie di successo, tanto nel settore pubblico quanto in quello privato, ci rendiamo conto di trovarci di fronte a qualcosa di veramente efficace. In particolare, sempre su [2], si legge che il successo di PRINCE2 è dovuto in gran parte al fatto che è un metodo fatto su misura e adattabile a tutti i tipi di progetti, in cui vengono con attenzione individuati i vari input e output per tutti i processi coinvolti, insieme agli obiettivi specifici e alle attività da realizzare.

 

PRINCE2 vs DSDM: complementarietà e sovrapposizione
Nella prima parte di questo articolo abbiamo avuto modo di guardare da vicino DSDM, probabilmente la più diffusa e apprezzata "best practice" attualmente disponibile in ambito RAD. Così come per PRINCE2, anche DSDM sta conoscendo sempre maggiore successo, tanto nell'ambito pubblico quanto in quello privato. Se stiamo pensando di gestire i nostri progetti con PRINCE2 e di svilupparli con DSDM, possiamo notare immediatamente la complementarietà di queste due metodologie, laddove l'enfasi posta sul controllo in PRINCE2 corrisponde al focus sulla dinamicità in DSDM. In effetti, chi ha sviluppato DSDM aveva ben chiaro PRINCE2 in mente. Ciò si riflette in effetti in un insieme di principi e tecniche mutuati in modo abbastanza evidente da PRINCE2, si pensi ad esempio alla pianificazione basata sul prodotto, al coinvolgimento di partner e utenti finali e al ruolo centrale che gioca il business case. Utilizzare i due metodi insieme, tuttavia, richiede una certa cura, proprio in virtù del fatto che la forte complementarietà può portare in molti casi a sovrapposizione, duplicazione e conflitto. Di qui la necessità di razionalizzare con attenzione l'approccio quando si sceglie di utilizzare entrambi i metodi. La figura 1 riporta una schematizzazione delle aree di sovrapposizione esistenti tra in due metodi.


Figura 1 – Aree di sovrapposizione PRINCE2-DSDM



PRINCE2 divide I progetti in un insieme di fasi, che offrono la possibilità di effettuare azioni di controllo guidate dagli eventi e permettono di applicare una serie di punti di decisione. Ogni progetto è basato su un Business Case, la cui validità deve essere volta per volta confermata, pena la cancellazione delle attività di progetto. Utenti finali e partner vengono formalmente definiti, e questo sottolinea ulteriormente la loro importanza al'interno del progetto. Gli avanzamenti del progetto sono misurati tramite risultati concreti, piuttosto che tramite i task necessari a produrre tali risultati. Infine, è bene tenere a mente che PRINCE2 è un framework, nel senso che adattarlo alle esigenze del progetto è un fattore critico di successo per il progetto stesso.
DSDM, per contro, è caratterizzato da nove principi base, in gran parte contenuti in quanto appena detto. Anche DSDM è un approccio business-driven, e divide l'attività di sviluppo in incrementi all'interno dei quali vengono impiegate tecniche come il timeboxing o il prototyping per controllare tempi e costi. Come PRINCE2, anche DSDM prevede un'attivo e costante coinvolgimento dell'utente finale, e utilizza il concetto di tolleranza per gestire le attività di progetto. Anche DSDM, perchè possa essere impiegato con successo, va adattato al progetto, come recita il detto "You can use some of DSDM all of the time, and all of DSDM some of the time".

 

PRINCE2 & DSDM: razionalizzare l'approccio
Abbiamo già sottolineato la necessità di porre molta attenzione a quelle che sono le aree di sovrapposizione esistenti tra i due metodi, al fine di razionalizzarne quanto più possibile l'impiego. Questo si traduce in una serie di accorgimenti pratici applicabili a tutto l'ambito dei progetti sviluppati ([3]). Vediamo in dettaglio alcuni esempi, relativi ad alcuni dei momenti chiave che si incontrano nelle due metodologie:

 

  • Avvio dei lavori (Starting)
    Momento che si traduce in PRINCE2 nei processi di "Start Up" e "Initiation" e in DSDM nelle attività "Feasibility Study" e "Business Study". Entrambi i metodi prevedono la presenza di un punto di decisione che influenza la continuità o meno delle attività di progetto, e che può identificarsi nel caso PRINCE2 con la fine della fase "Initiation" e nel caso DSDM con la fine del "Business Study". DSDM effettua uno studio più preciso e approfondito durante questa fase iniziale, e coinvolge l'intero team. PRINCE2, d'altra parte, per progetti di piccole dimensioni consiglia di far coincidere le fasi "Start Up" e "Initiation", cosa che può diventare in parte una complicazione. Un modo razionalizzato di risolvere i conflitti potrebbe essere quello di
    far coincidere il termine del "Business Study" di DSDM con il termine di ciascuno stage di PRINCE2
    incorporare lo studio di fattibilità di DSDM nelle fasi PRINCE2 "start up" e "initiation"
  • Esecuzione (Running)
    PRINCE2 non richiede una corrispondenza esatta tra fasi di management e fasi tecniche. In questo caso un approccio razionalizzato può semplicemente mettere in relazione ciascun management stage di PRINCE2 con il corrispondente insieme di timeboxes DSDM.
  • Arresto del progetto (Stopping)
    DSDM sottopone a riesame le attività di progetto al termine di ogni "incremento". PRINCE2 effettua una attività similare detta "end stage assessment", ma al termine di ogni fase (stage). Una vera e propria revisione del progetto viene effettuata da PRINCE2 solo alla fine, in cui si cerca di collezionare quanto più informazioni possibili nell'insieme cosiddetto delle "lessons learned". Qui è probabile che quanto richiesto da PRINCE2 sia superfluo se si adotta anche DSDM, proprio in virtù del fatto che DSDM prevede già diversi momenti di riesame, anzichè un solo momento finale.


Ruoli e responsabilità
Ciascun progetto prevede la presenza di ruoli chiave da assegnare alle varie figure coinvolte, che devono occuparsi di compiti quali:

  • definizione dei requisiti di business
  • individuazione del budget
  • individuazione dell'utente e delle risorse di sviluppo
  • autorizzazione ai cambiamenti
  • definizione di standard e criteri di accettazione del cliente
  • gestione del progetto al fine di garantirne il successo
  • convalida dei prodotti consegnati

A tale scopo, sia PRINCE2 che DSDM definiscono una serie di figure, di ruoli e di responsabilità. In entrambi i metodi, inoltre, l'utente finale viene attivamente coinvolto proprio per renderlo partecipe di quanto è in corso d'opera. Il modo migliore per evitare sovrapposizioni e gestire la sinergia tra i due metodi consiste nell'individuare le figure comuni ad entrambi e tracciare con attenzione le interrelazioni con le altre figure coinvolte. Ciò anche in virtù del fatto che spesso nei due metodi le denominazioni sono leggermente diverse, ma indicano ruoli funzionalmente analoghi (si pensi alla figura di Executive in PRINCE2 che va a corrispondere con l'Executive Sponsor in DSDM). Nella sottostante figura 2, una schematizzazione dei diversi ruoli nei due metodi, con evidenza delle aree di sovrapposizione.

 


Figura 2 – Ruoli e responsabilità in PRINCE2 e DSDM


Prodotti
PRINCE2 prevede la presenza di prodotti di gestione e di qualità, che sono riferiti alla gestione accurata ed efficiente e al controllo del progetto. DSDM, per contro, pone l'accento sui prodotti cosiddetti specialistici, che contengono informazioni relative al sistema o allo sviluppo così come su metodi e tecniche utilizzati. Un esempio potrebbero essere i diversi prodotti che l'impiego di MDA in ambito DSDM permette di ottenere (vale a dire PIM, PSM relative alle tecnologie prescelte - ad esempio J2EE - e Code Model, container di tutto il codice che viene sviluppato). Anche DSDM prevede la presenza di prodotti di gestione e relativi alla qualità, ma si consiglia in questo caso di sostituirli con le interrelazioni ai corrispondenti prodotti di gestione di PRINCE2. Su tutti, in ogni caso, il Documento di Inizio Progetto, così come evidenziato anche nella figura 3.


Figura 3 – Prodotti di PRINCE2 e DSDM


Conclusioni
Abbiamo terminato il paragrafo precedente tornando a nominare MDA, con l'intento preciso di chiudere il ciclo, anche rispetto alla prima parte di questo articolo, vista nello scorso numero. In effetti, in questa seconda parte abbiamo discusso l'impiego della metodologia di progetto PRINCE2 in sovrapposizione e interrelazione con DSDM, ponendo l'accento proprio su quei meccanismi necessari a razionalizzare quanto più possibile l'uso combinato di entrambi i metodi. PRINCE2 pone l'accento sul concetto di controllo, DSDM sulla dinamicità e la capacità di rispondere ai cambiamenti. MDA, mezzo ideale per implementare quanto richiesto da DSDM, permette entrambe le cose, e cioè sia un pieno controllo sul Business Case - grazie alla presenza dei modelli PIM e PSM - sia un rapido e affidabile adattamento ai cambiamenti - che grazie alla presenza dei modelli PIM e PSM possono essere gestiti con rapidità e affidabilità. Non dimentichiamoci che il RAD ha segnato il passo proprio a proposito di considerazioni qualitative su quanto veniva sviluppato, e che la Qualità è elemento di interesse centrale anche in PRINCE2, perchè costituisce il fondamento delle cosiddette "aspettative del cliente", quelle su cui vengono disegnati i "criteri di accettazione". Perciò, se PRINCE2 significa "controllo" e DSDM "qualità in breve tempo", MDA impiegata laddove si scelga l'approccio misto PRINCE2-DSDM significa "controllo completo con la massima qualità nel minor tempo".


Bibliografia
[1] PRINCE2 Sito Ufficiale - "PRINCE2 APM Group" - http://www.prince2.org.uk/web/site/home/home.asp
[2] Formazione e Certificazione PRINCE2 - "QRP " - http://www.qrpc.net/
[3] M. Griffiths et al. "Using DSDM with PRINCE2" - http://www.agilealliance.com/articles/dsdmconsortiumusingds/file


Doriano Gallozzi è nato a Roma nel 1964 e si è laureato in Ingegneria Elettronica (indirizzo Informatica) nel 1989. Da sempre interessato a problematiche di analisi, progettazione e sviluppo di Sistemi Informativi, ha lavorato per diversi anni in aziende del settore informatico italiano (gruppo ENI, gruppo Telecom Italia), dove ha acquisito diverse esperienze tanto nel campo della progettazione e sviluppo del software (in ambiente M/F come in ambiente distribuito) quanto nel campo dei RDBMS (DBA su diversi progetti per clienti finali quali Telecom Italia). Da gennaio 2000 lavora nella Divisione Prevendita di Compuware Italia. La sua attività verte sulla piattaforma J2EE e tecnologie correlate, ma anche su ambiti tecnologici quali le soluzioni per IT-Governance, i Portali Web, gli strumenti di Business Process Automation, l’Enterprise Application Integration.