Pianificazione dei rilasci in Agile/Scrum

riunione pianificazione rilasciScrum è basato su brevi iterazioni, in genere 2-4 settimane. Questo è ottimo per favorire un adattamento rapido alle necessità di consegna del prodotto.

E’ comunque opportuno che lo sviluppo del prodotto prenda in in considerazione anche la pianificazione a lungo e medio termine definendone in questo modo la roadmap.

I team agili di solito prevedono un ciclo di rilascio che comprende da 3 a 5 sprint.

Un rilascio non implica necessariamente la distribuzione di una nuova versione. La distribuzione può riguardare solo alcuni nuovi requisiti richiesti dalla committenza senza per questo costituire una nuova versione del prodotto.

Una pianificazione con orizzonte a medio termine consente al team di avere una visione per il futuro in modo che l’architettura o il design delle funzionalità pianificate possano essere se necessario adattati senza doverli ridisegnare.

A tal fine occorre svolgere una riunione (release planning meeting) prima di ogni ciclo di rilascio.

La durata della riunione dipende dal periodo di tempo per il quale è ragionevole ritenere che le decisioni che vengono prese possano essere stabili, dalla complessità dei requisiti e dalle dipendenze da altri sistemi.

In genere una giornata può essere sufficiente.
pianificazione rilasci agile

Obiettivi del Release Planning Meeting

  1. Conoscere i piani con un orizzonte temporale medio-lungo.
  2. Identificare la connessione tra la roadmap e la visione e la strategia del prodotto.
  3. Per introdurre funzionalità, epiche e loro suddivisione in storie utente (user stories).
  4. Per identificare i rischi.
  5. Identificare i vincoli al completamento delle funzionalità.
  6. Per impostare l’ordine corretto dei requisiti.
  7. Per pianificare i requisiti negli sprint.
  8. Stimare approssimativamente l’impatto e la complessità dei requisiti in termini di story points.
  9. Per identificare le dipendenze da altri sistemi.
  10. Coordinare i piani di sviluppo dei sistemi dipendenti.
  11. Per identificare le informazioni mancanti.
  12. Valutare le opinioni del team sul piano dei rilasci.
  13. Concordare date e tappe fondamentali.

Ruoli coinvolti

Il Product Owner spiega:

  1. Obiettivi di rilascio.
  2. Stakeholder e clienti che saranno interessati dalla versione del prodotto e per i quali si stanno sviluppando le funzionalità.
  3. Funzionalità, Epiche o User Stories.
  4. Le epiche che devono essere dettagliate in storie utente.
  5. Definizione di massima dei criteri di accettazione.

Lo Scrum Master:

  1. Organizza l’incontro.
  2. Funge da moderatore dell’incontro.
  3. Fornisce la documentazione necessaria per il workshop.
  4. Evidenzia i rischi.

Il Team di sviluppo:

  1. Deve comprendere i requisiti.
  2. Divide le Epic in User Stories (in accordo con il Product Owner).
  3. Aiuta nella definizione di criteri di accettazione.
  4. Aiuta nell’evidenziare i rischi.
  5. Stima la complessità dell’implementazione in story points.
  6. Esamina l’articolazione e priorità dei requisiti.
  7. Identifica le dipendenze da sistemi interni o di altro tipo.
  8. Supporta il Product Owner nel definire la composizione del Backlog del prodotto.

Risultati della pianificazione dei rilasci

  1. Epiche e caratteristiche identificate del prodotto.
  2. Identificazione degli stakeholder.
  3. User stories inserite nei singoli sprint.
  4. User stories stimate in story points.
  5. Rischi identificati.
  6. Dipendenze da altri sistemi.
  7. Impegno del team al completamento del rilascio nei termini concordati