La maggior parte delle soluzioni software che sviluppiamo sono altamente customizzate e necessitano di continui aggiornamenti per venire incontro alle nuove richieste ed esigenze dei nostri clienti. Gi applicativi aziendali sono in continua evoluzione dovendo soddisfare nuovi requisiti derivanti da cambiamenti o ottimizzazioni nei flussi di lavoro, dall’introduzione di nuove funzionalità, dall’integrazione con nuovi software di terze parti e da cambiamenti nelle normative.
Come sviluppatori di soluzioni software dobbiamo garantire che i cambiamenti siano integrati in modo efficace nel tempo e che il ciclo di vita dello sviluppo del software consenta sempre un maggior grado di flessibilità. In questo processo sono fondamentali la trasparenza e il coinvolgimento dei clienti con cicli di sviluppo brevi e continui.
Per raggiungere tutti questi requisiti, in Wondersys abbiamo scelto di adottare un approccio agile con il framework Scrum. Chi ha familiarità con lo sport del rugby, sa che in una mischia (Scrum, in inglese) i giocatori sono strettamente uniti. Il nome è stato preso dallo sport del rugby per sottolineare il lavoro di squadra che viene svolto in questo approccio agile allo sviluppo dei progetti.
Cosa è il framework Scrum?
La definizione del framework Scrum è contenuta nella Scrum Guide, un breve documento di 13 pagine in cui ogni singola frase deve essere ben compresa e analizzata a fondo per comprendere appieno il principio del framework. Una cosa è certa: il framework Scrum è semplice, ma la sua implementazione è difficile ed è un processo che deve essere continuamente migliorato, analizzato e adattato a ogni contesto e circostanza.
Scrum è un framework per affrontare problemi complessi. La maggior parte dei software che sviluppiamo oggi implementa problemi complessi, poiché troppi elementi sono interconnessi, cambiano rapidamente e sono influenzati da attori complessi: l’essere umano. E per risolvere problemi complessi, Scrum utilizza un approccio adattivo.
Il Team e gli Sprint
Scrum definisce un insieme di attori che lavorano insieme nello Scrum Team e che partecipano al processo di sviluppo del progetto:
- Il proprietario del prodotto o Product owner
- Gli sviluppatori
- Lo Scrum Master
Il lavoro viene portato avanti in modo iterativo attraverso riunioni, gli Sprint, ognuno dei quali è limitato a un tempo massimo di 30 giorni.
Sprint Framework workflow schema
Il flusso di lavoro dello Sprint è rappresentato nell’immagine qui sopra. Il Product Backlog è la fonte unica dei requisiti e viene continuamente aggiornato dal Product Owner in base all’interazione con gli stakeholder. All’inizio di ogni Sprint, nella riunione di pianificazione dello Sprint si presenta l’obiettivo dello Sprint. Gli sviluppatori definiscono lo Sprint Backlog, il sottoinsieme dei problemi che saranno implementati nello Sprint.
Ogni giorno gli sviluppatori si incontrano nel Daily Scrum, una riunione collaborativa di 15 minuti in cui si discutono i progressi fatti e si adatta, se necessario, lo Sprint Backlog. Alla fine dello Sprint, la riunione chiamata Sprint Review viene utilizzata per presentare i risultati alle parti interessate (ad esempio, utenti finali, clienti, ecc.). I risultati, conformi alla definizione di “Fatto”, contribuiranno all’Increment, il passo avanti nel raggiungimento del risultato finale. Per aumentare la qualità e l’efficienza, la Sprint Retrospective fornisce un riscontro per la pianificazione futura.
Come lavoriamo
In Wondersys coinvolgiamo il cliente in questo processo condividendo in modo trasparente il Backlog (l’unica fonte di requisiti in Scrum) e facendolo partecipare attivamente alla Sprint Review e interagendo con il Product Owner, assicurando che i requisiti e le modifiche siano continuamente adattati.
Contattateci per discutere il vostro progetto e capire quanto un approccio Agile con Scrum potrebbe adattarsi e portare beneficio al vostro sviluppo personalizzato.
Giacomo Sergio
Managing Director @ Wondersys