Metodi agili nei progetti: gli elementi essenziali + illustrazione Scrum

Cosa significa "Agile" nella gestione dei progetti?

Mentre i metodi tradizionali mirano a elaborare le diverse fasi di un progetto in modo sequenziale (noto anche come ciclo di sviluppo a cascata o anche ciclo V), il principio dei metodi Agile è di tagliarlo in parti sub - autonome (o sottoprogetti ) (si parla anche di sviluppo iterativo).

Le parti (iterazioni) formano il progetto nel suo insieme.

Il Manifesto Agile, i principi fondanti

Questi metodi derivano da Manifesto Agile , pratiche messe in atto da esperti nel 2001 per migliorare lo sviluppo del software.

Questo documento evidenzia 4 valori:

  • il primato delle persone e delle interazioni su processi e strumenti.
  • una preferenza per il software funzionale piuttosto che per la documentazione completa.
  • un diverso rapporto con i clienti: collaborazione permanente in sostituzione della negoziazione contrattuale.
  • adattamento continuo al cambiamento e non il rigido seguito di un piano.

Partendo da questi valori, il Manifesto definisce 12 principi:

  1. 1 - La priorità n° 1 è ottenere la soddisfazione del cliente il prima possibile attraverso la consegna rapida e regolare delle caratteristiche previste.
  2. 2 - accettare richieste di modifica durante il progetto . Sono opportunità per dare più valore al progetto e attenersi alle reali esigenze dei clienti.
  3. 3 - Implementare consegne rapide basate su cicli brevi (poche settimane). Questi deliverable devono essere operativi per consentire test di validazione delle funzionalità previste.
  4. 4 - Forte e continua cooperazione tra utenti e sviluppo. A differenza del metodo classico dove gli incontri tra utenti e project management avvengono soprattutto all'inizio e alla fine del progetto.
  5. 5 - Dare autonomia alle persone coinvolte e fidarsi di loro.
  6. 6 - Dare priorità alla comunicazione faccia a faccia come canale di comunicazione tra le parti. Le interazioni sono più efficienti e più ricche. Tutto sta andando più veloce.
  7. 7 - L'importante è avere un'applicazione operativa.
  8. 8 - Andare avanti a un ritmo costante compatibile con quello che tutti gli attori possono produrre.
  9. 9 - Concentrarsi sulla qualità tecnica e sulla qualità del design per costruire una solida base per rafforzare l'agilità.
  10. 10 - Mantieni semplici i tuoi metodi di lavoro: fai solo ciò che è necessario.
  11. 11 - Un team che si organizza produce risultati migliori.
  12. 12 - Rivedendo regolarmente le sue pratiche, il team adatta il suo comportamento e i suoi strumenti per essere più efficiente.

Quali sono i vantaggi ?

Questo approccio consente di ottenere:

  • - più flessibilità lavorando su sottoparti autonome. Possono essere progettati, testati, modificati nuovamente senza che l'intero progetto ne risenta. Può essere implementata la considerazione di esigenze non identificate in fase di analisi o l'emergere di nuove funzionalità durante lo sviluppo. Per esperienza, è difficile pensare a tutto nella fase di definizione della necessità di un approccio classico alla gestione dei progetti.
  • - Più affidabilità e qualità: semplificando la complessità, testando continuamente, favorendo feedback, scambi con i clienti.
  • - Rischi ridotti: rilevamento rapido grazie a cicli brevi.
  • - Miglior controllo dei costi: nessun rollback costoso: se necessario, il progetto può essere interrotto rapidamente.

Ma anche limiti

La flessibilità portata all'estremo può portare a una stagnazione del progetto . Molte iterazioni senza direzioni o decisioni fisse rappresentano un pericolo reale. Una delle possibili cause degli incessanti capovolgimenti dei clienti nelle loro specifiche.

In queste situazioni il project manager (qualunque sia il suo nome nel metodo prescelto) deve poter arbitrare per il bene del progetto, ma anche quello del committente.

Metodi agili

I principi dell'agilità sono ripresi in modo strutturato con diversi metodi. Concentrati su uno dei più popolari:

Il metodo Scrum

Iniziato da Hirotaka Takeuchi e Ikujiro Nonaka poi formalizzato da Ken Schwaber e Jeff Sutherland, questo metodo offre una struttura molto strutturata per l'applicazione dei principi dell'agilità.

Sprint, il cuore di Scrum

Questo approccio si basa su iterazioni da 2 a 4 settimane. Questi sono le famose "Sprint" . Queste sono le sottoparti di un progetto come definito dal principio Agile. Ogni Sprint mira a fornire al cliente una versione potenzialmente utilizzabile del prodotto.

Gli Sprint successivi aggiungono funzionalità al prodotto o migliorano quelle già sviluppate. Si parla di incremento di prodotto.

Uno Sprint inizia quando il precedente è terminato. Questo è un processo incrementale.

Questo quadro si basa su 3 pilastri che sono:

- trasparenza : sviluppo di uno standard comune per consentire una comprensione condivisa.

- ispezione: i controlli vengono effettuati regolarmente.

- adattamento: in caso di scostamento rilevato durante l'ispezione, vengono effettuati adeguamenti.

Gli sprint sono strutturati attorno a diversi strumenti organizzativi (chiamati eventi):

  • Pianificazione dello sprint: incontro per selezionare e pianificare le priorità di ogni Sprint in termini di elenco delle caratteristiche del prodotto (Sprint Backlog).
  • S crum (Daily M elée): incontro quotidiano di coordinamento tra i membri del team di progetto. Spesso assume la forma di un "riunione in piedi" (riunione breve, 10-15 minuti, in piedi).
  • Revisione dello sprint: incontro di sintesi al termine di ogni Sprint per validare le funzionalità sviluppate.
  • Retrospettiva Sprint: Subito dopo lo Sprint review, questo è un report il cui obiettivo è il miglioramento continuo delle pratiche. Il team discute i successi e le difficoltà, annota cosa ha funzionato e cosa no. Ci sono sempre lezioni da imparare per i prossimi Sprint.

Composto da input e output del processo, chiamati "artefatti"

  • Portafoglio prodotti: elenco delle caratteristiche del prodotto.
  • Sprint arretrato: pianificazione elementi del Product Backlog da implementare durante lo Sprint per fornire l'incremento di prodotto con le funzionalità richieste per questo step. Lo Sprint Backlog non è fisso, ma è probabile che si evolva durante lo Sprint.
  • L'incremento del prodotto: già menzionato sopra.

Con ruoli definiti per ciascuno:

  • Proprietario del prodotto - PO: l'esperto commerciale, il cliente , rappresenta il cliente e interviene sul versante funzionale.
  • Maestro di mischia: il coordinatore del progetto e il garante del rispetto del metodo Scrum.
  • Squadra: gli altri stakeholder del progetto (in particolare gli sviluppatori).

Altri metodi di sviluppo Agile

Oltre a Scrum, esistono altri approcci, ciascuno con le proprie specificità:

  • Extreme Programming (XP): ampiamente utilizzato nell'ingegneria del software
  • FDD (sviluppo basato sulle funzionalità)
  • Metodo di sviluppo dinamico del sistema (DSDM): uno dei più antichi
  • Sviluppo software adattivo (ASD)
  • Crystal Clear: "piccoli team" orientati

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave