1. Cos'è Scrum?
Hai già capito che tutto ciò che riguarda lo sviluppo è standardizzato. Ma se ti dicessi che tutto è in realtà standardizzato? E non parlo solo di nomi variabili e funzioni, anche se sono anch'essi standardizzati🤦♂️.
Esiste una metodologia di sviluppo chiamata Agile e la sua implementazione più popolare è Scrum. Scrum viene anche chiamato framework — definisce tutti i processi nel team. Quando devono esserci le riunioni, chi deve parteciparvi, cosa si deve discutere, quali risultati devono essere ottenuti e in quale forma devono essere registrati 📋.
"Ma perché tanta standardizzazione", — vi chiederete. Beh, innanzitutto, lavorate in un settore high-tech — tutto il mondo del hi-tech. In secondo luogo, così è più facile lavorare insieme. E infine, nella vostra professione .NET Software Engineer, fate attenzione all'ultima parola — ingegnere. E capirete da dove vengono le radici.
2. Come funziona il lavoro con Scrum
Scrum — è una metodologia agile di gestione dei progetti, molto usata nello sviluppo software. Basata su processi iterativi e incrementali 🔁
Scrum divide i progetti in cicli/stadi di sviluppo chiamati sprint, che di solito durano da due a quattro settimane. Ogni sprint inizia con la pianificazione delle task da completare e si conclude con una presentazione, dove il team mostra i risultati raggiunti 🎯.
Gli elementi chiave di Scrum includono ruoli, eventi e artefatti.
- Ruoli principali — sono Product Owner, che definisce i requisiti del prodotto, Scrum Master, che supporta il processo secondo le regole di Scrum, e team di sviluppatori, che eseguono il lavoro.
- Eventi principali — sono le daily meetings (riunioni quotidiane o daily stand-up), la pianificazione degli sprint, le retrospective e le demo dei risultati.
- Artefatti includono backlog (lista di task) del prodotto, backlog dello sprint e l'incremento del prodotto 📋.
Non spaventatevi! Anche se la regolamentazione di tutto può sembrare un po' intimidatoria, lavorare "con Scrum" è facile e piacevole. Scrum ha risolto il principale conflitto tra sviluppatori e clienti/proprietari del prodotto 🤗
Gli sviluppatori volevano sempre essere lasciati in pace per lavorare tranquilli. E i proprietari del prodotto avevano bisogno di aggiungere nuove funzionalità, cambiare qualcosa o fare qualche esperimento 🧪.
Scrum ha suddiviso lo sviluppo in periodi stabili — sprint (di solito 2 settimane). Durante un periodo, gli sviluppatori si concentrano solo sulle task pianificate per quello sprint. Se il cliente ha bisogno di qualcosa urgentemente, può aggiungere queste funzionalità nel prossimo sprint 🗓️.
3. Sprint & Scrum Board
Sprint — è il ciclo principale di sviluppo in Scrum, della durata da una a quattro settimane. Come già detto, durante questo periodo il team lavora su un insieme specifico di task dal backlog del prodotto.
All'inizio di ogni sprint si fa pianificazione ⏳, dove il team sceglie le task dal backlog del prodotto e si impegna a completarle. Lo sprint si conclude con una demo del lavoro fatto e una retrospective, dove il team analizza il processo e cerca modi per migliorare il prossimo sprint. Questo approccio permette di aggiornare regolarmente il prodotto, rispondendo rapidamente ai cambiamenti di requisiti e priorità.
Durante lo sprint, sviluppatori e product owner devono riunirsi per discutere le task del prossimo sprint.
Backlog 📚, o backlog, è la lista di tutte le task da completare. In Scrum si distinguono il backlog del prodotto, che include tutti i requisiti (feature), e il backlog dello sprint, che contiene le task scelte per quello sprint. Il backlog è un documento vivo, aggiornato e rivisto regolarmente per mantenere allineamento con gli obiettivi di business e le condizioni di mercato.
Il backlog dello sprint si preferisce visualizzarlo con Scrum Board ✅ — una sorta di lavagna con task e stati. La lavagna è divisa in colonne, che di solito rappresentano le fasi di completamento, come "Da fare", "In corso", "In revisione" e "Fatto". Questo permette a tutto il team di vedere i progressi e di individuare facilmente eventuali problemi nel workflow.
GO TO FULL VERSION