Agile e Scrum: differenze e prerogative

differenze agile scrumIn un precedente articolo sono state prese in considerazione le differenze e le opportunità tra approcci agili e waterfall.

Agile è un metodo di sviluppo iterativo (ad esempio sviluppo software) in cui le migliorie, le correzioni di difetti e gli upgrade funzionali vengono introdotti in modo incrementale durante tutto il ciclo di vita di un prodotto.

E’ stato adottato con successo anche in contesti diversi dallo sviluppo software che si prestano a questa modalità incrementale che procede per release e versioni progressive.

Nella sostanza, l’approccio agile consiste nella possibilità di aggiungere componenti man mano che la committenza ne manifesta l’esigenza senza doverle per forza prevedere tutte fin dall’avvio del progetto di sviluppo.

Agile elimina una pianificazione iniziale troppo accurata dell’intero progetto. I team e le aziende che implementano questa strategia deliberano gli interventi e migliorie incrementali attraverso feedback e revisioni di prodotto costanti.

Naturalmente questa modalità non si presta a gestire, ad esempio, opere infrastrutturali come dighe, ponti, strade.

Agile quindi è di per sé un modello di sviluppo poco strutturato e regolato.

Scrum aggiunge organizzazione struttura a questo approccio.

Scrum è quindi una metodologia di sviluppo agile che organizza il lavoro particolarmente per chi sviluppa software.

Richiede brevi fasi di sviluppo (sprint) che portano a rilasci di versioni progressive del prodotto ed introduzione di correzioni e migliorie sempre su base periodica.

Scrum definisce le modalità con cui gestire queste fasi nonché i ruoli necessari per presidiare le aree di competenza necessarie per procedere in modo regolato ed efficiente.

Product Owner, Scrum Master e Team members collaborano nel definire di volta in volta le funzionalità da sviluppare in base alle esigenze della committenza e il calendario dei rilasci.

Il limite di questo tipo di approcci è il rischio di scope creep dovuto ad una scarsa pianificazione dello sprint.

L’introduzione di controlli può consentire di ridurre questo tipo di fenomeno che altrimenti in questo tipo di progetti può diventare sistematico e strutturale.

Gestire un team di sviluppo Agile