Gestione agile dei progetti
Gestione agile dei progetti con HERMES e SCRUM
Perché agilePer gestire la complessità dello sviluppo di prodotti e sistemi molti sviluppatori fanno uso di metodi agili. Prendendo ad esempio il metodo SCRUM viene mostrato come HERMES interagisce con lo sviluppo agile.
Posizionamento dello sviluppo agile nel modello per fasiHERMES copre l'intero ciclo di vita di un progetto. SCRUM regolamenta l'organizzazione e la guida del team di sviluppo. Le transizioni tra le fasi non devono tuttavia essere visibili al team di sviluppo. Esso infatti è coinvolto solo limitatamente nella guida del progetto, poiché la guida del team di sviluppo avviene tramite il backlog del prodotto e lo Sprint backlog.
La figura 33 mostra che durante tutte le fasi di HERMES lo sviluppo avviene in maniera agile.
Resta di competenza del project manager e del committente portare a termine le fasi di HERMES e i compiti decisionali, con le milestone di guida, gestione ed esecuzione. Anche nel caso di uno sviluppo agile il committente e il project manager si occupano dei compiti di guida e di gestione del progetto, perché SCRUM non copre questi aspetti.
Nel caso dello sviluppo agile con SCRUM, i punti focali del team di sviluppo nelle fasi sono i seguenti:
Avvioil punto fondamentale della fase di Avvio sta nell'elaborazione dello studio con soluzioni alternative. In questo senso, lo sviluppo non è ancora presente in questa fase.
ConcezioneNella fase di Concezione, quando il partner di sviluppo è ormai stabilito e l'estensione dello sviluppo è definito in maniera sufficientemente stabile, si può introdurre SCRUM per lo sviluppo agile. Per questo viene utilizzato il modulo Sviluppo agile.
Innanzitutto si esegue il compito Decidere SCRUM. Lo sviluppo agile con SCRUM ha delle conseguenze sui tutti i partner: utente, produttore e operatore. La decisione viene quindi presa in maniera consapevole coinvolgendo le parti coinvolte. L'introduzione di SCRUM viene quindi pianificata ed eseguita con il compito Introdurre SCRUM. Da quel momento si possono già eseguire i primi sprint, che possono servire per verificare l'architettura del sistema con un prototipo (proof of concept).
Nella fase di Concezione si decide l'architettura del sistema. L'architettura deve essere elaborata in modo sufficientemente dettagliato, in modo che gli organi regolatori e di controllo di gestione competenti possano verificarla e che si possa prendere la decisione riguardo all'architettura del sistema. In questo modo si assicura la sostenibilità del sistema IT, prima di investire molte risorse nello sviluppo.
Realizzazioneil punto fondamentale dello sviluppo agile sta nella fase di Realizzazione. Nello sviluppo agile, l'elaborazione della specifica dettagliata avviene quasi contemporaneamente allo sviluppo. Lo sviluppo del sistema/prodotto avviene dopo disponibilità della relativa specifica dettagliata negli sprint.
Introduzionenella fase di Introduzione vengono eseguiti ulteriori sprint. Ad esempio vengono gestiti in modo agile le modifiche e il bugfixing e ciò fino all'accettazione del sistema.
ScenariHERMES offre due scenari standard che includono la guida agile dello sviluppo con SCRUM:
-
applicazione IT agile
-
servizio/prodotto agile
Con questi scenari l'utente dispone di un metodo che può utilizzare immediatamente per la guida agile dello sviluppo.
Di seguito viene descritto come utilizzare insieme HERMES e SCRUM nell'ambito di un progetto di sviluppo IT.
Modulo Sviluppo agileSCRUM è contenuto in HERMES come modulo Sviluppo agile, che contiene come risultati tutti gli artefatti di SCRUM e ne integra gli eventi nei compiti.
La figura 34 mostra il posizionamento del modulo Sviluppo agile nello scenario Applicazione IT agile. Il modulo è situato al livello gerarchico Gestione e completa il modulo Gestione del progetto, i cui risultati e compiti continuano a essere necessari perché non coperti da SCRUM.
I moduli del livello gerarchico Esecuzione continuano a essere necessari, perché SCRUM non dà nessuna indicazione sui compiti e sui risultati concreti per quanto concerne gli acquisti, lo sviluppo del sistema IT, i test, la migrazione ecc., ma si concentra sulla guida agile dello sviluppo.
Ruoli
SCRUM dispone di tre ruoli. Essi completano i ruoli di HERMES e sono applicati secondo la definizione della SCRUM Guide™.
HERMES parte dal presupposto che una persona possa occupare più ruoli (cumulo di ruoli). Il titolare di un ruolo HERMES può quindi assumere anche un ruolo SCRUM. La tabella mostra i possibili cumuli di ruolo.
Ruolo SCRUM |
Candidato HERMES per il ruolo SCRUM
|
---|---|
Product Owner |
Business analyst |
|
Project manager dell'utente |
|
Responsabile dei processi operativi |
|
Responsabile dell'applicazione |
|
Architetto IT |
Team di sviluppo |
Sviluppatore, business analyst, responsabile dei test, tester |
SCRUM Master |
Sviluppatore, business analyst |
HERMES e SCRUM hanno una comprensione fondamentalmente diversa della gestione del team. Mentre HERMES parte dal presupposto che il project manager impartisca i mandati di lavoro, l'attività del Team SCRUM è diretta dal Product Owner attraverso il backlog del prodotto e il team organizza il proprio lavoro in modo autonomo.
Il rispetto dei ruoli definiti in SCRUM è un fattore di riuscita essenziale per l'utilizzo di SCRUM. In caso di cumulo di ruoli, bisognerà badare a che il ruolo definito in SCRUM sia rispettato dal suo titolare.
Compiti
Orientamento di ampia portata dei compitiNel modulo Sviluppo agile i compiti sono maggiormente orientati allo sviluppo software di quanto non avvenga in SCRUM. La tabella mostra i compiti del modulo Sviluppo agile e il loro rapporto con la SCRUM Guide™.
Compito HERMES |
Descrizione del compito HERMES |
SCRUM Guide™
|
---|---|---|
Decidere lo sviluppo agile con SCRUM |
La decisione costituisce la base dello sviluppo agile con SCRUM. Essa definisce come viene svolto il lavoro agile per lo sviluppo con SCRUM e come viene introdotto. |
Non disponibile |
Introdurre SCRUM |
L'introduzione mirata di SCRUM costituisce il presupposto per lo sviluppo agile. |
Non disponibile |
Gestire il backlog del prodotto |
Il backlog del prodotto costituisce il presupposto per l'elaborazione del piano di rilascio e per l'esecuzione degli sprint. |
Parte di SCRUM.
|
Elaborare il piano di rilascio |
Il piano di rilascio costituisce la base per eseguire gli sprint, per pianificare la trasmissione di un rilascio all'utente e per coordinare le attività con i servizi interessati. |
Non disponibile |
Eseguire gli sprint |
L'esecuzione di uno sprint porta a un risultato concordato, concreto e verificabile. |
Lo sprint è il cuore di SCRUM.
|
Durante lo sviluppo agile si devono considerare particolarmente i seguenti compiti del modulo Gestione del progetto:
Gestire le modificheL'assegnazione di priorità al backlog del prodotto porta a delle modifiche nell'ambito delle prestazioni. I project manager dell'utente e del produttore provvedono alla gestione delle modifiche secondo il processo definito per il progetto e registrato nel manuale di gestione del progetto. SCRUM non rende superfluo questo compito.
Anche in caso di utilizzo di SCRUM, bisogna tener presente l'ambito del progetto e la sua delimitazione. Un'estensione dell'ambito o uno spostamento della delimitazione del progetto possono riguardare l'organizzazione permanente e devono essere valutati dagli organi competenti, rappresentati, in particolare, dal committente e dagli organi regolatori e di controllo di gestione responsabili della gestione del portafoglio progetti.
Concordare e gestire le prestazioniLa guida delle prestazioni viene effettuata mediante l'assegnazione di priorità ai requisiti, per mezzo del backlog del prodotto e degli sprint backlog.
In caso di prestazioni convenute a prezzi fissi, ogni modifica del loro ambito comporta delle modifiche del mandato, la cui base è l'elenco dello stato delle modifiche.
Posizionamento di HERMES e di SCRUM
In un progetto in cui viene condotto lo sviluppo agile con SCRUM, il metodo SCRUM è utilizzato come complemento di HERMES.
La tabella mostra il posizionamento, fondamentalmente diverso, di HERMES e di SCRUM. Essa mostra chiaramente come SCRUM non sostituisca HERMES, ma lo completi quando necessario.
Settore |
HERMES |
SCRUM
|
---|---|---|
Ciclo di vita del progetto |
HERMES copre l'intero ciclo di vita del progetto, ossia dal mandato per l'avvio del progetto fino alla sua chiusura. |
SCRUM copre l'intervallo del progetto durante il quale viene sviluppato. |
|
Il modello per fasi definisce i punti decisionali differenziati, sulla base dei quali si effettua l'armonizzazione del progetto con l'organizzazione permanente (p. es. per l'armonizzazione dell'architettura del sistema). |
SCRUM non definisce nessun punto decisionale differenziato per l'armonizzazione con l'organizzazione permanente. |
Risultati, compiti, ruoli |
HERMES definisce tutti i risultati, i compiti e i ruoli per scenari definiti. |
SCRUM definisce i risultati (artefatti), i compiti (eventi) e i ruoli necessari per la guida agile dello sviluppo . |
|
I risultati, i compiti e i ruoli sono orientati al contenuto concreto del progetto (ossia alle caratteristiche di un progetto). Essi sono specifici. |
I risultati, i compiti e i ruoli non sono orientati al contenuto concreto del progetto (ossia alle caratteristiche di un progetto). |
|
HERMES descrive i compiti concreti per l'elaborazione dei risultati specifici al progetto. |
SCRUM non descrive nessun compito concreto per l'elaborazione dei risultati specifici al progetto. SCRUM non descrive nessun processo di sviluppo, ma permette di rendere misurabile l'efficacia relativa dello sviluppo (citazione dalla guida di SCRUM). |
Livelli gerarchici |
HERMES distingue i livelli gerarchici Guida, Gestione ed Esecuzione. I ruoli sono attribuiti a questi tre livelli gerarchici. |
SCRUM distingue i livelli Guida ed Esecuzione. |
|
HERMES comprende numerosi moduli ognuno dei quali è attribuito a uno dei livelli gerarchici.
|
|
Partner |
HERMES definisce la collaborazione tra l'utente, il produttore e l'operatore. |
SCRUM definisce la collaborazione tra l'utente (product owner) e lo sviluppatore (ruolo Scrum Team). |
Panoramica degli elementi metodologici
HERMES e SCRUM sono composti da elementi metodologici simili, in modo che il framework SCRUM possa essere integrato in modo semplice nel metodo HERMES.
Elementi del metodo HERMES |
Elementi del metodo SCRUM
|
---|---|
Risultato |
Artefatto |
Compito |
Evento |
Ruolo |
Ruolo |