#import "../functions.typ": glossary, team

= Modello di sviluppo
Il team ha deciso di adottare il modello di sviluppo agile Scrum come approccio principale per la gestione e lo sviluppo del progetto. Tale metodologia promuove un'approccio adattativo, permettendo l'evoluzione dei requisiti e una ridefinizione costante del perimetro del progetto. Il modello assicura anche feedback regolari, consentendo adattamenti rapidi, riducendo gli sprechi e garantendo la soddisfazione degli obiettivi individuati dalla Proponente a ogni iterazione.
Il #glossary[framework Scrum] si basa su principi fondamentali che riflettono la filosofia di lavoro del team. Attualmente, molte delle pratiche proprie di Scrum sono già in atto e vengono applicate quotidianamente nello svolgimento delle attività del progetto.

== Pratiche attualmente implementate
=== Iterazioni
- *#glossary[Sprint]*: durante questo periodo, lungo 1 settimana, il team pianifica, sviluppa, testa e completa una quantità concordata di lavoro, consegnando un risultato tangibile alla fine di ogni #glossary[sprint]. Questa lunghezza di tempo è stata considerata ottimale per completare le attività previste per lo #glossary[sprint], offrendo un equilibrio tra un periodo abbastanza breve da mantenere un allineamento frequente con la Proponente, e un periodo sufficientemente lungo da permettere lo sviluppo di un incremento di lavoro utilizzabile.

=== Eventi
- *#glossary[Sprint planning]*: durante questa fase, il team identifica le #glossary("user stories") del #glossary("product backlog") che si impegna a completare, tenendo conto della capacità e delle risorse disponibili. Questi elementi vengono successivamente aggiunti allo #glossary("sprint backlog"), una lista creata dal team in modo collaborativo, che contiene le attività relative allo #glossary[sprint]. Queste attività diventano le issue all'interno dell'#glossary("ITS"). In seguito, il team si dedica alla stima della complessità delle issue, valutandone sia la dimensione in termini di ore produttive che il livello di priorità;
- *#glossary[Daily Scrum] meeting*: di breve durata, si aggira attorno ai 15 minuti, e coinvolge tutto il team. Durante questo incontro, i membri del team esaminano lo stato di avanzamento del lavoro, discutendo di ciò che è stato completato dall'ultimo meeting, cosa verrà affrontato entro il prossimo, e se ci sono eventuali ostacoli che potrebbero impattare il lavoro;
- *#glossary("Sprint review")*: incontro chiave nel #glossary[framework Scrum] che si tiene alla fine di ogni #glossary[sprint]. Questo incontro si focalizza sull'esame del lavoro completato e sulla raccolta dei feedback. La presenza attiva della Proponente è di importanza cruciale in questo contesto, poiché contribuisce in modo significativo a garantire una comprensione accurata degli obiettivi raggiunti e a facilitare una comunicazione diretta e fruttuosa con il team. Ciò consente un allineamento più preciso sulle sue aspettative;
- *#glossary("Sprint retrospective")*: incontro chiave nel #glossary[framework Scrum] che si tiene alla fine di ogni #glossary[sprint]. In questo momento, il team riflette sullo #glossary[sprint] appena concluso e identifica possibili miglioramenti. I membri del team esaminano ciò che è andato bene e ciò che ha margine di miglioramento, studiando possibili soluzioni. Non ci si concentra sul prodotto vero e proprio, ma principalmente sul #glossary[way of working]. 

== Vantaggi nell'adozione di Scrum
L'approccio Scrum offre numerosi vantaggi che il team ritiene fondamentali per il successo del progetto:

- *Adattabilità*: la natura incrementale di Scrum consente di adattarsi a cambiamenti e requisiti emergenti in modo tempestivo;
- *Trasparenza e comunicazione*: le pratiche di Scrum promuovono la trasparenza, migliorando la comunicazione interna ed esterna;
- *Consegna incrementale*: i rilasci frequenti consentono alla Proponente di visionare il prodotto in via di sviluppo e fornire feedback tempestivi.
