Ciclo di vita dello sviluppo software (SDLC). Scrum Model Step by Step
Scrum framework consente di implementare la metodologia di sviluppo Agile. A differenza del modello a cascata di sviluppo software, Scrum consente un processo di sviluppo iterativo e incrementale. Il progetto si articola in diverse fasi, ognuna delle quali si traduce in un prodotto pronto all’uso. Alla fine di ogni passaggio (chiamato sprint nella terminologia Scrum), un prodotto utilizzabile viene consegnato a un cliente., Il feedback dei clienti aiuta a rivelare possibili problemi o modificare il piano di sviluppo iniziale, se necessario. Se vuoi che il tuo progetto segua rigorosamente i principi fondamentali del manifesto Agile, puoi utilizzare il modello Scrum ed essere sicuro di essere sulla strada giusta.
Ecco i principali ruoli coinvolti nel processo di sviluppo, secondo il modello Scrum:
- Il product owner si prende cura degli interessi dell’utente finale;
- Il master Scrum coordina l’intero processo di sviluppo., Un altro compito è quello di assicurarsi che Scrum sia usato correttamente e di tenere riunioni Scrum regolari;
- Il team Scrum sviluppa il prodotto. I suoi compiti principali sono la programmazione, l’analisi, i test, ecc.
Ora, diamo un’occhiata alle fasi principali del processo di sviluppo in cui è composto Scrum.
Fasi del modello Scrum
Passo 1. Creazione del product Backlog
Un product backlog è un elenco che contiene funzionalità da implementare durante il processo di sviluppo. E ‘ ordinato per priorità e ogni elemento è chiamato una storia utente. Ogni storia utente ottiene un ID univoco., Di norma, le storie degli utenti hanno il seguente formato: Come , voglio farlo . Questo elenco qui sotto mostra come queste storie possono essere simili.,ange la durata e la data di inizio di quelli attuali, utilizzando il drag-and-drop, in modo che posso stimare che il progetto complessivo di tempo
Oltre a questi campi richiesti, quelli opzionali possono essere aggiunti in caso di bisogno di:
- La pista è usata per selezionare tutte le storie utente di un certo tipo, di cambiare la loro priorità., Può essere utilizzato per aumentare la priorità di storie utente che si riferiscono al pannello di controllo, per esempio;
- Componenti costituiscono un elenco di componenti che verranno modificati durante il lavoro. I moduli di un’applicazione, come l’autenticazione o la ricerca, ad esempio;
- Il richiedente è un cliente interessato a implementare alcune funzionalità particolari;
- Bug tracking ID contiene un elenco di bug rilevati che si riferiscono a una storia utente corretta.
Punto 2. Pianificazione sprint e creazione del backlog Sprint
In primo luogo, è necessario determinare quale sarà la durata dello sprint., Un breve sprint consente di rilasciare la versione di lavoro di un prodotto più frequentemente. Di conseguenza, il feedback del cliente verrà ricevuto più spesso e tutti i possibili bug ed errori verranno rivelati nel tempo.
In alternativa, puoi preferire una durata dello sprint più lunga. Permetterà agli sviluppatori di lavorare in modo più approfondito. La durata ottimale dello sprint è definita come una media di queste due opzioni. Di norma, in un modello Scrum, uno sprint dura circa 2-4 settimane. Ciò che è più importante in questa fase è l’obiettivo Sprint. L’obiettivo è determinato per ogni sprint., E in accordo con esso lo sprint è pieno di storie di utenti. Un’altra cosa importante è la cooperazione tra le parti interessate e i membri del team. Il proprietario del prodotto determina l’importanza di una storia utente corretta, mentre il team Scrum definisce i costi di manodopera appropriati.
Successivamente, il team Scrum può selezionare le storie utente più importanti dal product backlog. Quindi i membri del team dovrebbero decidere come risolveranno questo o quel compito. Inoltre, il team può dividere particolari storie utente in quelle più piccole e quindi trasformarle in una serie di attività., Il backlog Sprint dovrebbe essere creato successivamente. Consiste di storie utente che verranno completate durante lo sprint corrente. La quantità di queste storie dipende dalla loro capacità in punti storia assegnati a ciascuna storia durante la fase di valutazione. Il team Scrum dovrebbe essere in grado di finire tutte queste storie in tempo.
Passaggio 3. Sto lavorando allo Sprint. Daily Scrum Meetings
Dopo aver scelto le storie utente effettive per la fase corrente, inizia il processo di sviluppo.
Per tracciare il processo di lavoro corrente, viene comunemente utilizzata una scheda attività., Di solito ci sono grandi carte con i nomi di particolari storie utente e un fascio di piccole note adesive con una descrizione di singole attività che sono necessari per l’attuazione di questa o quella storia. Ogni scheda particolare è sviluppata in base alle specifiche di un progetto. Diamo un’occhiata a un piccolo esempio.
Le carte possono essere disposte in base alla loro importanza. Quando il lavoro su un’attività è stato avviato, l’adesivo corrispondente viene spostato dal campo” Da fare “a quello” In corso”., Al termine del lavoro, l’adesivo può essere spostato nel campo “Test” e, dopo che l’attività è stata testata con successo, l’adesivo passa al campo “Fatto”. Un esempio di come può apparire la Scrum task board è mostrato di seguito:
C’è anche la possibilità di utilizzare software specializzati per questa attività.
Ad esempio, Atlassian JIRA.
Un’altra caratteristica importante di Scrum sono le riunioni quotidiane di Scrum., L’obiettivo principale di questi incontri è quello di ottenere informazioni complete e veraci sullo stato attuale del progetto e assicurarsi che tutti i membri del team siano sulla stessa pagina. Durante le riunioni di Scrum, ogni singolo membro del team dovrebbe dire cosa ha fatto per l’obiettivo Sprint, quale compito sarà il prossimo e quali problemi i membri del team hanno affrontato durante il lavoro.
Inoltre, un grafico burndown è un altro strumento ampiamente utilizzato che consente di monitorare efficacemente i processi quotidiani. Ti mostra quante attività rimangono incompiute., Questo grafico dà la possibilità di controllare il processo di sviluppo e può essere aggiornato dopo ogni riunione.
Le riunioni di Scrum giorno per giorno aiutano ad aumentare la flessibilità del processo di sviluppo. Permettono anche di capire quali cambiamenti dovrebbero essere fatti.
L’asse X rappresenta i giorni di lavoro rimanenti, mentre l’asse Y visualizza la quantità complessiva di punti storia per la fase corrente. Al termine di un’attività che richiede un certo numero di punti storia da completare, è possibile aggiungere un punto sul diagramma per indicare l’avanzamento corrente.,
JIRA consente di creare anche questi grafici:
Questo grafico aiuta a trarre conclusioni sulla velocità attuale del lavoro. A seconda di queste conclusioni, è possibile modificare il numero di storie utente per lo sprint successivo.
È importante notare che, poiché il risultato ideale di ogni sprint in un modello Scrum è un prodotto funzionante, il processo di test completo del ciclo di vita è molto importante. Esistono diversi modi per ridurre al minimo i costi del periodo di test. Ad esempio, è possibile ridurre la quantità complessiva di storie utente., Di conseguenza, il numero di possibili bug sarà ridotto al minimo. L’altro modo è includere gli ingegneri del QA nel team Scrum.
Leggi anche perché il QA svolge un ruolo chiave nello sviluppo di un prodotto software di alta qualità
Passaggio 4. Incremento del prodotto e revisione Sprint
Il risultato di ogni sprint in Scrum è un incremento del prodotto potenzialmente spedibile che può essere dimostrato al cliente. Dopo ogni iterazione, il team di sviluppo crea una nuova versione di un prodotto software con un valore maggiore., Durante la Sprint Review, che è la parte finale di ogni sprint, i risultati complessivi possono essere dimostrati e analizzati. Sulla base di tutte queste informazioni, le parti interessate possono prendere una decisione su ulteriori modifiche al progetto e pianificare il prossimo sprint.
Punto 5. Retrospective and Next Sprint Planning
L’obiettivo principale di Retrospective è quello di discutere i risultati e determinare i modi per migliorare il processo di sviluppo nella fase successiva., Una caratteristica importante è che in questa fase sono i processi di lavoro e interazione che vengono discussi al fine di migliorare il lavoro del team Scrum nel suo complesso. Il team dovrebbe concludere cosa è andato bene durante il processo di lavoro e cosa può essere fatto meglio durante l’iterazione futura. Quando vengono definite le modalità di miglioramento, il team può concentrarsi sulla pianificazione dello sprint successivo.
Conclusione
Le principali caratteristiche distintive di Scrum sono l’agilità e il progresso continuo. È fornito principalmente da una comunicazione permanente e da una stretta cooperazione tra le parti interessate in ogni fase., L’approccio Scrum implica un processo di sviluppo continuo iterativo e incrementale. L’obiettivo è quello di garantire la possibilità di aumentare continuamente il valore del prodotto e mantenere la flessibilità nella scelta delle priorità per ulteriori iterazioni.
Quando lo sprint è terminato, il cliente può valutare la funzionalità del prodotto funzionante all’iterazione corrente e prendere una decisione informata su come il progetto dovrebbe evolversi durante i prossimi sprint.,
Anche se secondo il manifesto Agile, si dovrebbe preferire il software di lavoro rispetto alla documentazione completa, nulla impedisce agli sviluppatori di utilizzare una specifica dei requisiti del software. SRS è bravo a dire cosa dovrebbe fare un sistema o un prodotto. Nonostante tale SRS può perdere alcuni aspetti agili dello sviluppo del progetto, come la collaborazione, può ancora essere un buon strumento per la pianificazione e la pianificazione.