Skip to content

Latest commit

 

History

History
155 lines (104 loc) · 5.46 KB

051_Scrum.md

File metadata and controls

155 lines (104 loc) · 5.46 KB

Metodologia AGILE / SCRUM

Scrum è un framework Agile ampiamente utilizzato per lo sviluppo di prodotti complessi, specialmente nel contesto del software. Questo framework si basa su principi di trasparenza, ispezione e adattamento e promuove il lavoro collaborativo in team multidisciplinari e auto-organizzanti. Ecco alcuni concetti chiave e ruoli di Scrum:


Ruoli di Scrum

  1. Product Owner:

    • Rappresenta gli interessi degli stakeholder e definisce le caratteristiche del prodotto.
    • Responsabile di prioritizzare il backlog del prodotto e di assicurare che il team stia sviluppando valore aziendale.
  2. Scrum Master:

    • Facilita il processo Scrum, rimuove gli ostacoli e aiuta il team a seguire le pratiche Scrum.
    • Si occupa della gestione dell'ambiente di lavoro in modo che il team possa operare in modo efficiente.
  3. Team di Sviluppo:

    • Il team multidisciplinare e auto-organizzante responsabile dello sviluppo del prodotto.
    • Coinvolto nella pianificazione, nella progettazione, nella codifica, nei test e nella consegna delle funzionalità.

Artefatti di Scrum

  1. Product Backlog:

    • Un elenco prioritizzato di tutte le funzionalità, miglioramenti e correzioni di bug che compongono il lavoro da fare sul prodotto.
    • Gestito dal Product Owner e soggetto a modifiche in base alle necessità.
  2. Sprint Backlog:

    • Un insieme di attività specifiche selezionate dal Product Backlog per essere sviluppate durante uno sprint.
    • Gestito dal team di sviluppo.
  3. Incremento:

    • La somma di tutte le attività completate durante uno sprint, che costituisce una versione incrementale del prodotto.
    • L'obiettivo è produrre un incremento di valore al termine di ogni sprint.

Eventi di Scrum

  1. Sprint Planning:

    • Riunione all'inizio di ogni sprint in cui il team di sviluppo e il Product Owner collaborano per selezionare gli elementi del Product Backlog da sviluppare durante lo sprint.
  2. Daily Scrum:

    • Riunione quotidiana di breve durata in cui il team di sviluppo si coordina e affronta gli ostacoli.
    • Facilita la comunicazione e la collaborazione all'interno del team.
  3. Sprint Review:

    • Riunione alla fine di ogni sprint in cui il team di sviluppo dimostra l'incremento di lavoro completato.
    • Coinvolge anche una sessione di feedback e pianificazione per il prossimo sprint.
  4. Sprint Retrospective:

    • Riunione alla fine di ogni sprint in cui il team riflette sulle pratiche e identifica opportunità di miglioramento.
    • Aiuta il team a imparare dagli sprint precedenti e a continuare a migliorare.

Scrum è noto per la sua flessibilità e adattabilità, il che lo rende adatto a progetti in evoluzione e dinamici. Promuove la trasparenza e la responsabilità, incoraggiando il team a risolvere problemi e ad adattarsi rapidamente alle mutevoli esigenze del progetto.


AGILE != waterfall

  • individui + che processi
  • software funzionante
  • collaborazione
  • rispondere al cambiamento più che seguire un piano

  • controllo empirico dei processi
  • trasparenza: mostrare tutti gli aspetti del lavoro
  • ispezione: frequente controllo del prodotto
  • adattamento: capacità di rispondere tempestivamente alla mutate condizioni

Ruoli

Scrum team

  • Scrum Master: responsabile del processo (servant leader), favorisce il lavoro del team rimuovendo gli ostacoli
  • Product owner: conosce tutti i requisiti del prodotto, organizza ordine lavori. Definisce il lavoro
  • Team di sviluppo: gruppo cross-funzionale auto-organizzato, da 3 a 9 persone, Coloro che concretamente portano a termine gli Sprint. Ogni membro è responsabile dell'intero sviluppo

Artifacts

  • Product backlog: lista di tutti i requisiti, elementi che servono nel prodotto
  • Sprint backlog: lista dei task di ciascuno sprint
  • Incremento: somma degli elementi completati

Eventi

  • Sprint planning: PO con tutto lo Scrum team descrive gli item principali
  • Daily SCRUM: breve confronto giornaliero tra TS e SM(15min, in piedi)
  • Sprint review: revisione per valutare raggiungimento obiettivo
  • Sprint retrospective: cosa continuare a fare e cosa smettere di fare...

vantaggi per azienda

  • velocità di esecuzione
  • minore dispersione di risorse
  • migliore relazione con i clienti
  • migliore soddisfazione finale

vantaggi team

  • responsabilizzazione
  • visibilità del lavoro fatto da ciascuno
  • pianificazione migliore
  • allineamento con il business
  • soluzione problemi migliore

Product backlog

  • User story: le singole voci del PB, brevi e semplici descrizioni di una funzionalità (dal punto di vista dell'utente/cliente)
  • In qualità di <tipo>, voglio <obiettivo>, in modo da <motivo>
  • Epic: User story particolarmente complessa e generica

Sprint backlog

  • Sprint goal: si definisce l'obiettivo dello sprint
  • cioè il lavoro che deve essere fatto
  • in continua evoluzione
  • ogni giorno si tiene traccia del lavoro svolto e di quello che si deve ancora fare
  • aggiungere o eliminare task

Incremento

  • la somma di tutte le funzionalità completate in uno sprint
  • Definition of done: definire cosa si intende per 'fatto' (done)

Sprint

  • durata 2/4 settimane per realizzare un mini progetto che rappresenta un incremento
  • durata fissa: si conclude anche se non ho portato a termine tutti gli obiettivi
  • eventi
    • sprint planning
    • daily scrum
    • sprint review
    • sprint retrospective