Creact

Fai crescere il tuo business con CREACT AGENCY.

Chiamaci +39 081 183 73 153
Contattaci

I vantaggi della metodologia AGILE: ecco perché e come funziona

Staffetta

20 Giugno 2019 - Storie Digitali

Il ritmo veloce del mondo digitale ha reso necessaria la ricerca di un nuovo modello organizzativo. Velocità e qualità sono oggi elementi essenziali di un mercato ad altissima competizione dove i principi del management “tradizionale” non riescono più ad essere efficaci.

Nell’ambito dell’ingegneria del software è nata la metodologia Agile che si contrappone al più strutturato modello a cascata o waterfall model per soddisfare le nuove esigenze.  

Quando abbiamo scelto di utilizzare questo metodo per alcuni progetti abbiamo ottenuto i risultati sperati.  Per questo ho scelto di illustrartene i vantaggi e chiarire le procedure della modalità di questa modalità di progettazione.

AGILE, elenchiamo i vantaggi

Utilizzando Agile l’obiettivo principale è consegnare al cliente, in tempi brevi e frequentemente, software funzionante e di qualità, rinunciando ad un approccio più strutturato.

La metodologia Agile fornisce a tutti gli attori coinvolti molti vantaggi specifici, tra cui:

  • Implementazione più rapida di soluzioni;
  • Riduzione degli sprechi grazie alla riduzione al minimo delle risorse;
  • Maggiore flessibilità e adattabilità al cambiamento;
  • Maggiore successo grazie a sforzi più mirati;
  • Tempi di consegna più rapidi;
  • Rilevamento più veloce di problemi e difetti;
  • Processi di sviluppo ottimizzati;
  • Una struttura più leggera;
  • Controllo ottimale del progetto;
  • Maggiore attenzione a specifiche esigenze del cliente;
  • Maggiore frequenza di collaborazione e feedback.

In termini di benefici per l’azienda, il posto di lavoro digitale e l’Agile forniscono:

  • Maggiore flessibilità;
  • Maggiore produttività;
  • Maggiore trasparenza;
  • Prodotti di qualità superiore;
  • Diminuzione del rischio di mancati obiettivi;
  • Maggiore coinvolgimento e soddisfazione delle parti interessate.

I 12 Principi chiave di Agile

  1. La soddisfazione del cliente è sempre la massima priorità e viene raggiunta attraverso una consegna rapida e precisa;
  2. L’evoluzione, sotto tutti gli aspetti connessi con il progetto, viene adottata in qualsiasi fase del processo;
  3. Un prodotto o servizio viene consegnato con una frequenza più alta;
  4. Gli stakeholder e gli sviluppatori collaborano strettamente ogni giorno;
  5. Tutti gli stakeholder e i membri del team devono rimanere motivati per ottenere risultati di progetto ottimali. I team dispongono di tutti gli strumenti e il supporto necessari per poter raggiungere gli obiettivi del progetto;
  6. Le riunioni faccia a faccia sono considerate la forma di comunicazione più efficiente ed efficace per il successo del progetto;
  7. Un prodotto finale funzionante è la misura finale del successo;
  8. Lo sviluppo sostenibile si realizza attraverso processi agili in cui team di sviluppo e stakeholder sono in grado di mantenere un ritmo costante e continuo;
  9. L’agilità è migliorata attraverso una continua attenzione all’eccellenza tecnica e alla corretta progettazione;
  10. La semplicità è un elemento essenziale, in ogni fase del progetto;
  11. I team auto-organizzati hanno maggiori probabilità di sviluppare le migliori idee e progetti e di soddisfare i requisiti prefissati;
  12. I team effettuano cambi di comportamento per migliorare l’efficacia e l’efficienza del lavoro.

Esistono diverse varianti metodologiche di Agile ma la più diffusa è Scrum

SCRUM IN 4 Punti

  • Scrum è un modello di processo per produrre software ottenendo il massimo valore utile nel minor tempo
  • Permette al cliente di ispezionare rapidamente e ripetutamente ogni 3-4 settimane versioni funzionanti del software
  • Il cliente definisce funzioni da realizzare e loro priorità. Il team di sviluppo decide quotidianamente il modo migliore di produrre le funzioni di più alta priorità.
  • Ogni 3-4 settimane nasce una nuova versione che viene esaminata per decidere se continuarne lo sviluppo con un altro sprint o produrne un rilascio

Le persone e i loro ruoli

Per portare al termine con successo un progetto con metodologia AGILE bisogna applicare correttamente quello che viene impropriamente detto il Manifesto Agile ed è il Manifesto per lo sviluppo agile del software (Manifesto for Agile Software Development di K.Beck, R.C. Martin, M.Fowler e altri).

Il Team di sviluppo Agile è composto generalmente dalle 3 alle 9 persone. I professionisti che fanno parte del team hanno diverse abilità e si occupano dello sviluppo e successivamente del testing delle funzionalità. Organizzano le “stories” o requisiti in micro-attività (tasks) da svolgere per portare a termine una determinato ciclo di sviluppo, detto tecnicamente sprint.

  • Auto-organizzanti
  • Il team è stabile per tutto lo sprint, non possono cambiare i membri
  • Tutti presenti nello stesso spazio di lavoro

Il Manifesto è stato pubblicato nel 2001 e individua 2 figure principali all’interno del processo agile oltre al team di sviluppo.

  1. Lo SCRUM Master guida alla corretta applicazione del metodo AGILE tutte le figure presenti. Deve verificare che il team lavori in maniera coerente con lo sviluppo del progetto, eliminare eventuali ostacoli esterni al  Team, organizzare e facilitare i meeting di confronto.
  2. Il Product Owner che conosce tutti i requisiti del progetto. fa da interfaccia tra business, i clienti e i requisiti del prodotto da un lato e il team dall’altro:
  • Definisce le feature del prodotto
  • Decide i rilasci
  • Mette in priorità le feature rispetto al loro valore di mercato
  • Per ogni iterazione rivede lista delle feature e loro priorità
  • Accetta o rifiuta i risultati

I processi o rituali

  • Sprint planning: nello Sprint planning Product Ownter e Team decidono cosa fare (sprint backlog) e come aggiornare il product backlog. Il tempo massimo richiesto per quest’attività è di circa un’ora.
  • Daily scrum stand-up: viene svolto ogni giorno in piedi ed ha una durata massimo di 15 minuti. Ogni membro del Team dice cosa ha fatto, cosa pianifica per oggi, che impedimenti ha trovato
  • Sprint Review: viene analizzato lo Sprint ed individuato cosa è stato fatto e cosa non è stato completato. Durata massima 4 ore.
  • Sprint Retrospective: viene analizzato l’andamento dello Sprint ed individuato cosa è andato bene e quali impedimenti sono stati trovati. Durata massima 3 ore.

I documenti da produrre o artefatti

Il Product Backlog contiene la lista di tutti requisiti necessari per la realizzazione del progetto, mentre lo Sprint Backlog è il documento che definisce tutti i task da completare nei singoli sprint. Una previsione fatta dal Team di Sviluppo in relazione alle priorità indicate nel Product Backlog e al lavoro necessario per raggiungere gli obiettivi dello sprint.

La somma di tutti gli elementi del Product Backlog completati durante uno sprint e durante gli sprint precedenti è detta incremento. Al termine dello sprint l’incremento dovrà essere realizzato in base a quanto concordato dal Team di Sviluppo per garantire un prodotto utilizzabile.