Scrum Wars: i grattacapi quotidiani di chi vive l’Agile Software Development
Abstract
Chiunque abbia avviato o sia stato coinvolto nell’adozione di un processo agile per lo sviluppo del software si è trovato di fronte a perplessità iniziali, resistenze, obiezioni, problematiche comuni e ricorrenti che hanno causato dubbi e tentazioni di rinunciare, più forti se si presentano in un contesto con una radicata cultura di sviluppo software tradizionale o in organizzazioni complesse e distribuite.
Nonostante ciò, a distanza ormai di più di un decennio dal “Manifesto per lo Sviluppo Agile del Software”, oggi nel mondo circa il 50% delle aziende che sviluppano software dichiara di utilizzare metodi di agile development per la maggioranza dei propri progetti e si è definitivamente orientata su Scrum, che è il metodo utilizzato nei tre quarti delle organizzazioni agili, con un trend che rimane in crescita a tutto il 2014.
La comunità agile ha quindi imparato ad affrontare “il lato oscuro”, ovvero resistenze, perplessità e problemi che si presentano prima e durante il processo di transizione di un’organizzazione agile.
Come queste organizzazioni hanno affrontato le resistenze interne e le obiezioni? Come hanno gestito il processo di transizione? Come hanno coinvolto le funzioni di business e le funzioni al di fuori dell’R&D? Come hanno gestito i ruoli aziendali nel nuovo contesto? Come hanno affrontato gli ostacoli contrattuali?
Queste ed altre domande saranno affrontate durante il tutorial, che cercherà di dare una visione di come queste problematiche ricorrenti sono state affrontate dalle organizzazioni che hanno raggiunto un alto livello di maturità nel processo di sviluppo agile, attraverso la discussione di casi reali.
Lingua
Il tutorial è svolto in lingua italiana.
A chi è rivolto
Il tutorial è rivolto a tutti coloro che, indipendentemente dal ruolo, hanno introdotto o che stanno provando ad introdurre metodologie di sviluppo agile nelle proprie organizzazioni, a coloro che sono coinvolti in questo processo e che sono interessati ad approfondire come affrontare alcune problematiche tipiche e ricorrenti.
Prerequisiti
Una conoscenza di base dei concetti e delle pratiche di Agile Development e del metodo Scrum è da considerarsi prerequisito. Per chi non avesse esperienze dirette di sviluppo agile ma è interessato agli argomenti del tutorial si consiglia la lettura di The Scrum Primer 2.0, disponibile qui tradotta in italiano. Non è necessario l’uso del laptop.
Durata
Giornata intera
Outline
Le resistenze al cambiamento
Quali sono le principali e più ricorrenti resistenze che si incontrano nell’affrontare una transizione verso agile development e come affrontarle.
La transizione verso l’organizzazione agile scalabile e matura
Quali passaggi pianificare per affrontare la transizione in modo sostenibile, quali accorgimenti adottare quando si scala verso maggiori livelli di maturità.
La gestione dei requisiti
Quali passaggi prevedere per individuare, gestire e sviluppare al meglio i requisiti, quali accorgimenti adottare e quali errori evitare.
Gli Sprint
Come preparare una sequenza di sprint sostenibile, come strutturare e sincronizzare gli sprint in presenza di un numero crescente di Team, come affrontare i cambiamenti in corsa e come gestire le retrospettive.
I Ruoli
Quali profili sono i più adatti per ricoprire i ruoli di una organizzazione Scrum? E quali quelli meno adatti? Quali accorgimenti adottare e quali errori evitare.
La responsabilità e la proprietà condivisa nel Team agile
Quali caratteristiche dei componenti di un team agile risultano più problematiche da gestire, come affrontarle per ricavare la massima cooperazione, migliorare la comunicazione ed attenuare le criticità.
Il testing
Quando pianificare e svolgere le diverse attività che riguardano il testing in un contesto agile, e da parte di chi? Quali accorgimenti adottare in situazioni di particolare complessità sia tecnica che organizzativa.
I contratti
Come ottenere il meglio da un’organizzazione agile pur in presenza di contratti poco “agile friendly”. Quali accorgimenti adottare per migliorare gli aspetti contrattuali in un contesto di agile development.