#Step 4: pianificare lo sprint [i task]

Siamo oggi al quarto appuntamento della nostra guida a Scrum in 10 semplici step.
Oggi ci occuperemo di come pianificare lo Sprint ed in particolare entreremo nel vivo dei task.
Se siete arrivati alla nostra quarta puntata diamo per scontato che avete già fatto ordine nel vostro backlog di progetto, fatto una stima dello stesso e infine iniziato a pianificare il vostro scrum sprint a partire dalla definizione dei pre-requisiti.
Perché lo avete fatto, vero ;) ?

In questo caso, avanti tutta!

——————-

Dai pre-requisiti ai task

Questa è la fase in cui, dopo aver steso la lista di requisiti necessari al nostro progetto, passiamo a concretizzare il tutto in veri e propri specifici task.
Bisogna fare una riunione e occorrerà tutto il team operativo al completo: analisti, designer, programmatori, responsabili dei test. Assicuratevi che non manchi nessuno.

L’unica figura non indispensabile in questa precisa fase è quella del cliente o dei suoi rappresentanti: nota bene, possono naturalmente presenziare, ma diciamo che in questo momento si andrà a discutere per la prima volta delle risorse e degli obiettivi tecnici, entrando nello specifico del loro merito.

La riunione può essere organizzata anche immediatamente dopo quella sui requisiti (vedi punto #3 della guida), ma non è un’idea malvagia anche quella di attendere uno o due giorni: in questo modo si sedimentano le informazioni, si prende consapevolezza del progetto e delle eventuali criticità.

 organizzare lospint metodologia agile scrum framework

Fai il budget-ore del tuo sprint

Devi assegnare un budget-ore al tuo sprint, in base alla durata.
Da dove partire?

Il consiglio è quello di prendere la durata stabilita per lo sprint e moltiplicarla per le persone che vi saranno coinvolte full-time. Aggiungete anche le ore del personale che vi lavorerà part-time.

Ok: ora avete una cifra ore stimata in abbondanza.

Sottraete ora, sulla base delle consuetudini in azienda, tutto il ragionevolmente sottraibile:

– vacanze e/o ferie eventuali

– ore ragionevolmente impiegate su altri progetti

– ore prevedibilmente dedicate ad incontri, meeting e formazione

Fate in modo che questi calcoli siano condivisi e trasparenti a tutti: chiedete la collaborazione di tutti i membri per dedurli.

Organizzate i requisiti in singoli task

Ritornate ai requisiti: analizzateli uno per uno e traetene tutti i task che vi serviranno per ottenerli.
I task in questione potrebbero coinvolgere le cosiddette grandi categorie di attività di un qualunque progetto: design, sviluppo, testing, e/o documentazione.
Attenzione però a non confondervi: in un approccio agile andiamo ad agire sul singolo sprint e sul suo completamento totale entro il calendario di tempo stabilito, non ci riferiamo cioè a queste attività come a grandi macro-fasi nello sviluppo dell’intero progetto.

Includete quindi tutti i task necessari a completare lo sprint al 100%.
Vi potrebbe aiutare pensare ai task come consegne: ossia invece di pensare al task come “la cosa che devo fare”, pensatelo come “la cosa che devo consegnare”.

 organizzare-i-task-dello-sprint-con-scrum

Stimate i task in ore

Create dei task piccoli: per intenderci, non dovrebbero richiedere più di un giorno di sviluppo. Se un task ne richiede di più dovete tornare indietro su quel task e frammentarlo in più step.

Potrà sembrarvi macchinoso ma sul lungo tempo ne ricaverete vantaggi.
Perché?

1. perché task piccoli sono più gestibili e più facilmente raggiungibili

2. perché task piccoli vi fanno ridurre il “problema” (requisito) ai minimi termini degli ingredienti necessari al suo completamento

3. perché il task da 1 giorno è il formato più adatto al calendario di backlog, creato appunto su un formato a giornate

4. perché all’inizio di ogni stand up meeting avrete uno ed un solo preciso task di cui parlare

Altra cosa fondamentale: definite i task INSIEME. Chiedete il parere di tutti, per essere sicuri non tralasciare nulla.

Riporta i task sul backlog (sprint backlog)

Aggiungi i task stimati al Backlog di progetto: se sono significativamente in eccesso rispetto al budget dello Sprint, riduci allora il numero di elementi previsti nello Sprint.
Ricorda: il backlog era costruito per priorità, ergo ci si aspetta – nel caso precedente – che tu vada ad eliminare per primi gli elementi in fondo al backlog.

A questo punto, tutto ciò che rimane in lista, ovvero i task necessari per completare il Backlog di progetto all’interno del tuo singolo sprint, sono tutto ciò che in questa fase devi tenere a mente: sono il tuo Sprint Backlog.

Identifica eventuali “stretch tasks”

Come anticipavamo nella scorsa puntata, individua sempre degli stretch task: dei task aggiuntivi che ti metti da parte, nel caso in cui il team consegni prima e rischi di rimanere inattivo.

Peccato d’ottimismo? No, semplice constatazione.
Non è raro che i team neofiti di Scrum abbiano qualche problema con le stime: spesso non ne hanno mai fatte prima, e peccano in eccesso o in difetto.

Siamo sempre in tempo a togliere elementi dallo sprint backlog, ma bisogna essere altrettanto pronti ed avere colpi in canna di riserva: ecco perché è sempre meglio tenersi qualche stretch task da parte ;).

Nota a margine:

Riteniamo essenziale ricordarvi che tutto quanto spiegato è quanto di più lontano dalla pura teoria.

Al termine della sprint c’è sempre un effettiva consegna di materiale, con cui il cliente potrebbe potenzialmente iniziare a reintegrare il budget investito.

Ricordiamoci che non a caso i due step finali della sprint sono proprio:

–>La Sprint Review: una dimostrazione effettiva allo/agli stakeolder (e all’intero team) dello stato corrente del software pronto per la release.

–>La Sprint Retrospective: quel momento, per il team, di riflessione sullo sprint concluso e e sui provvedimenti da prendere per eventuali future migliorie.

Step #1: Tieni in ordine il tuo Backlog di progetto
Step #2: Come fare la stima del tuo backlog di progetto
Step #3: Come pianificare lo Sprint – I requisiti

Step #5: Come creare un ambiente di lavoro collaborativo
Step #6: Come implementare lo Sprint con Scrum
Step #7: Standup e… fai sentire la tua voce!
Step #8: Traccia i progressi con un diagramma quotidiano
Step #9: Consegna in tempo!
Step #10: Rivedi, rifletti, ripeti.