In questa sezione si descriverà l’organizzazione del team di sviluppo, le metodologie e gli strumenti scelti per la realizzazione del progetto.
Per la gestione del progetto è stata adottata la metodologia Agile, implementata attraverso il framework Scrum.
Questo approccio si basa su un processo di sviluppo iterativo e incrementale, che permette di fornire valore al committente in modo rapido e costante, adattandosi ai cambiamenti in corso d’opera.
L’organizzazione del team prevede i seguenti ruoli chiave:
Committente: colui che definisce gli obiettivi di business del progetto.
→ Ricoperto da Riccardo Mazzi.
Product Owner: la figura che massimizza il valore del prodotto, gestendo e prioritizzando la lista di funzionalità da sviluppare (Product Backlog).
→ Ricoperto da Juri Guglielmi.
Scrum Master: facilitatore del processo Scrum, responsabile della rimozione di ostacoli e del corretto svolgimento delle attività del team.
→ Ricoperto da Nicolò Monaldini.
Il ciclo di sviluppo è suddiviso in Sprint della durata di 5 giorni.
Ogni sprint è scandito da una serie di meeting e attività pianificate:
Per garantire una comunicazione fluida e una gestione efficiente delle attività, il team utilizza:
Per automatizzare build, testing e gestione delle dipendenze è stato utilizzato sbt. scalafmt è stato utilizzato per mantenere una formattazione coerente all’interno del progetto.
Per la CI viene utilizzato GitHub Actions, che automatizza l’esecuzione dei test a ogni push.
MAJOR.MINOR.PATCH