Introduzione al framework AgilePM
La metodologia AgilePM fornisce delle linee guida dettagliate su come gestire progetti agili seguendo un approccio strutturato e preciso, illustrando i principi, la filosofia, il ciclo di vita, i processi, le tecniche e le pratiche alla base del metodo Agile.
In questa breve serie vedremo quali sono i concetti cardine di questa metodologia e quali sono le basi necessarie per comprendere al meglio questa metodologia, parlando degli strumenti, dei ruoli, delle responsabilità e dei controlli necessari al successo dei progetti, comprendendone le modalità di applicazione, i benefici e i punti di attenzione.
Partiamo con l’introduzione al framework AgilePM!
DSDM e AgilePM
Somiglianze e differenze
Molto spesso vi capiterà di leggere DSDM accanto ad AgilePM: DSDM sta per Dynamic Systems Development Method ed è chiaramente una metodologia agile distribuita gratuitamente dal consorzio DSDM ai propri membri, fondato nel 1994.
C’è una differenza fondamentale tra DSDM e gli altri metodi Agile di prima generazione: questi ultimi sono stati tutti progettati per piccoli progetti con un team, mentre DSDM è stato originariamente progettato per supportare progetti più grandi con più team.
Per sua natura, DSDM è più sofisticato di altri metodi di prima generazione; infatti DSDM è anche molto ben strutturato e chiaro, ispirato a PRINCE2® e ad altri metodi consolidati che sono stati creati prima di loro. In altre parole, non ha cercato di reinventare la ruota, ma piuttosto di mettere in piedi delle basi solide e definite.
DSDM si basa completamente su una filosofia ben formata e su un insieme di principi. Questi hanno avuto un impatto significativo sulle metodologie agili, e in particolare sui principi alla base del Manifesto Agile.
DSDM costruisce una metodologia completa attorno alla sua filosofia. Questa metodologia prevede un processo con più fasi che possono essere organizzate in modi diversi per creare vari tipi di ciclo di vita.
Non a caso, la metodologia AgilePM nasce come un sottoinsieme del framework DSDM Agile Project. Quando parliamo di metodi agili, infatti, parliamo non di una metodologia, ma di uno stile di lavoro.
In questo, Agile è diverso da Scrum in quanto rappresenta un insieme di metodi e di caratteristiche comuni a tutti i metodi cosiddetti agili, che sono composti dalla necessità di creare un ambiente flessibile e lavorare fianco a fianco con il cliente dall’inizio alla fine di un progetto.
Questo significa che ci sono feedback continui, c’è spesso un confronto diretto, il quale dovrebbe risolvere i problemi giorno dopo giorno.
Significa anche rimandare le decisioni di dettaglio all’ultimo, perché non bisogna paralizzarsi sull’analisi di progetto all’inizio, ma concentrare le energie su un’analisi di alto livello per poter cominciare a lavorare subito e nel frattempo definire le specifiche man mano che si procede.
Un concetto molto importante è far capire infatti al cliente che in un progetto Agile il ritorno dell’investimento non è immediato, ma si tratta di un passaggio graduale.
Ma in che modo tutti questi mondi e metodologie funzionano?
Metodi agili
Ognuna di queste metodologie copre una o più aree di competenza, andando a lavorare e definire diversi ruoli e diversi metodi di gestione: nella seguente figura, vediamo come AgilePM si occupi non solo di seguire lo sviluppo di un prodotto, ma anche di gestire un progetto e parzialmente un programma, inteso come portafoglio di progetti.
DevOps e Scrum invece, sono metodologie che forniscono gli strumenti di lavoro per il rilascio di un prodotto e che danno indicazioni volte alla gestione di un progetto, soprattutto per quanto riguarda il lavoro in team e la comunicazione con il cliente finale.
Se volessimo definire con ancora più chiarezza, framework come Scrum sono considerati di product development, mentre AgilePM o Prince2 sono metodi di project management.
In questo senso, i due metodi non si escludono e spesso cooperano insieme: Scrum può dare delle indicazioni utili per gestire un progetto e permettere una flessibilità tale da adattarsi al cambiamento dello sviluppo di un prodotto, introducendo il concetto di progetto.
AgilePM è perfetto per organizzare la gestione di un progetto e definirne le fondamenta.
Scopi e campi di azione dei metodi agili
Manifesto Agile
Il manifesto dello sviluppo software e rappresenta un documento a cui tutti i metodi agili fanno riferimento. I metodi sono 12 e tutte le persone coinvolte in un progetto agile devono rispettare questo manifesto.
Principi del Manifesto Agile
Si tratta di un documento che nasce durante una vacanza in un resort sciistico nello Utah: le persone che ci hanno lavorato -17, per la precisione- avevano utilizzato diverse metodologie e volevano trovare un framework che fosse un’alternativa a quelli dove sono i documenti a governare il processo di sviluppo del software.
Riprendendo la figura in alto, possiamo vedere come l’essere agile richieda di tenere in considerazione le frasi a sinistra in rosso: un contratto ci dev’essere, così come un processo, ma devo preferire la comunicazione che abbia degli incontri di persona rispetto alle mail.
Oppure, dobbiamo preferire delle soluzioni che funzionano piuttosto che un manuale utente breve piuttosto che uno di 2000 pagine (secondo punto).
In un progetto agile, inoltre (terzo punto), non è pensabile di eseguire la maggior parte del lavoro ed effettuare solo alla fine una review con il cliente: ci dev’essere un processo continuo con un feedback costante.
Essere sempre pronti all’evoluzione di un prodotto è fondamentale, ancor più di onorare il processo definito in maniera iniziale: per questa ragione spesso non si vanno a definire i dettagli di un progetto agile, ma si preferisce un approccio più macroscopico al processo e alla soluzione finale.
AgilePM o Scrum?
Ma mentre queste regole valgono per qualsiasi progetto che adotti uno stile agile, quale metodo scegliere e perché?
Le domande da porsi sono diverse e bisogna pensare anche che non sempre è possibile gestire un progetto con un metodo agile, ma bisogna valutare punti come la cultura aziendale, il background, il contesto del progetto, e via dicendo.
Se la necessità è quella di gestire l’intero ciclo di vita di un progetto, definendo le persone, i prodotti, i processi e i metodi, allora AgilePM può essere una risposta.
Se invece si vuole dare il focus ad un prodotto che può evolvere rapidamente e che dev’essere “cucito” addosso al cliente, Scrum è un metodo agile perfetto allo scopo.
Nella prossima puntata, vediamo la filosofia dietro DSDM e in che modo ognuno di questi principi ci guida lungo il ciclo di vita di un progetto!
Risorse utili
- “DevOps” di Fabio Mora - Apogeo Editore
- Corso di Metodologia AgilePM
- I principi di DSDM e AgilePM