4.1 Cos'è Scrum?
Avrai già capito che tutto ciò che riguarda lo sviluppo è standardizzato. E se ti dicessi che è tutto standardizzato? E non parlo solo dei nomi di variabili e funzioni, anche se anch'essi sono standardizzati🤦♂️.
Esiste una metodologia di sviluppo chiamata Agile con una sua popolare implementazione — Scrum. Scrum viene anche chiamato framework — definisce tutti i processi nel team. Quando devono esserci le riunioni, chi dovrebbe partecipare, cosa deve essere discusso, quali risultati devono essere e come devono essere documentati.
"Ma perché così tanta standardizzazione", potresti chiedere. Beh, prima di tutto, lavori nel settore high-tech, tutte queste cose. In secondo luogo, è più facile lavorare insieme. E infine, nel titolo della tua professione Python Fullstack Software Engineer, nota l'ultima parola — ingegnere. E capirai da dove viene tutto questo.
4.2 Come funziona il lavoro con Scrum
Scrum è una metodologia flessibile di gestione dei progetti, spesso utilizzata nello sviluppo software. Basata su processi iterativi e incrementali.
Scrum divide i progetti in cicli di sviluppo chiamati sprint, che di solito durano da una a quattro settimane. Ogni sprint inizia con la pianificazione dei compiti che devono essere svolti e si conclude con una presentazione, dove il team dimostra i risultati raggiunti.
Elementi chiave di Scrum includono ruoli, eventi e artefatti.
Ruoli principali — Product Owner, che definisce i requisiti del prodotto, Scrum Master, che supporta il processo secondo le regole di Scrum, e il team di sviluppatori che eseguono il lavoro.
Eventi principali — incontri giornalieri (daily meetings), pianificazione degli sprint, retrospettive e dimostrazioni dei risultati del lavoro. Gli artefatti includono il backlog del prodotto (lista dei compiti), il backlog dello sprint e l'incremento del prodotto.
Non avere paura! Anche se regolamentare ogni cosa sembra un po' spaventoso, lavorare "con Scrum" è facile e piacevole. Scrum ha risolto il conflitto principale tra sviluppatori e committenti/proprietari del prodotto.
Gli sviluppatori chiedevano sempre di essere lasciati in pace a lavorare tranquillamente. E i proprietari del prodotto dovevano urgentemente aggiungere nuove funzionalità, cambiare qualcosa o fare qualche esperimento.
Scrum ha suddiviso lo sviluppo in periodi stabili — gli sprint (di solito 2 settimane). Durante questo periodo, gli sviluppatori svolgono solo i compiti pianificati per lo sprint attuale. Se il committente ha bisogno di fare qualcosa urgentemente, aggiunge queste funzionalità allo sprint successivo.
4.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 per completare un insieme specifico di lavori dal backlog del prodotto.
All'inizio di ogni sprint si tiene una pianificazione, dove il team sceglie i compiti dal backlog del prodotto e si impegna a completarli. Lo sprint si conclude con la dimostrazione del lavoro completato e con una retrospettiva, in cui il team analizza il processo di lavoro sullo sprint e cerca modi per migliorare il prossimo sprint. Questo approccio permette di aggiornare regolarmente il prodotto, rispondendo rapidamente ai cambiamenti dei requisiti e delle priorità.
Durante lo sprint attuale, gli sviluppatori e il proprietario del prodotto devono riunirsi in un meeting e discutere i compiti per il prossimo sprint.
Backlog è l'elenco di tutti i compiti che devono essere svolti. In Scrum si distingue tra il backlog del prodotto, che include tutti i requisiti del prodotto (funzionalità), e il backlog dello sprint, che consiste nei compiti scelti per l'implementazione nello sprint attuale. Il backlog è un documento vivo che viene regolarmente aggiornato e revisionato per garantire la conformità agli obiettivi aziendali attuali e alle condizioni di mercato.
Il backlog dell'attuale sprint viene comunemente visualizzato come Scrum Board — una sorta di lavagna con compiti e stati. La lavagna è divisa in colonne che di solito rappresentano le fasi dell'esecuzione dei compiti, come "Da fare", "In corso", "In verifica" e "Completato". Ciò consente a tutto il team di vedere i progressi e identificare facilmente eventuali difficoltà nel flusso di lavoro.
GO TO FULL VERSION