Il business sceglie cosa, gli sviluppatori scelgono come. Bilancia ambito, tempistiche e risorse.
Il planning game di XP si basa su un principio semplice: Il business decide cosa costruire. Gli sviluppatori decidono come costruirlo.
Questa separazione è fondamentale:
Nessuno dei due può fare il lavoro dell'altro. Il business non può stimare lo sforzo tecnico. Gli sviluppatori non possono decidere le priorità di business. Il planning game li riunisce con ruoli chiari.
Il business sceglie:
Gli sviluppatori forniscono:
Il planning game è una negoziazione, non un diktat. Il business non può pretendere tempistiche impossibili. Gli sviluppatori non possono dettare le funzionalità. Entrambi devono scendere a compromessi.
La pianificazione del rilascio risponde a: Cosa sarà incluso nel prossimo rilascio e quando verrà consegnato?
XP dice che puoi fissare due di queste tre variabili:
Non puoi fissarle tutte e tre. Qualcosa deve essere flessibile.
Rilascio a data fissa: "Consegniamo il 1° marzo. Quanto riusciamo a fare?" L'ambito è negoziabile.
Rilascio ad ambito fisso: "Ci servono queste funzionalità. Quando possiamo consegnarle?" La data è negoziabile.
Il processo del planning game:
Ripianifica regolarmente. Man mano che impari di più, aggiorna il piano di rilascio. XP non presume che il piano iniziale sia sacro.
Il team ha una velocity di 30 punti/iterazione. La data di rilascio è tra 4 iterazioni. Il business dà priorità a 100 punti di funzionalità, sapendo che sono possibili solo ~120 punti. Pianificano per 110 e tengono 10 come obiettivi estesi.
Il management decide che il team consegnerà 150 punti in 4 iterazioni (nonostante una velocity di 30). Quando il team obietta, gli viene detto di 'essere più agile.' Il team si esaurisce cercando di raggiungere un obiettivo impossibile.
La pianificazione dell'iterazione è più dettagliata. Avviene all'inizio di ogni iterazione (di solito settimanale o bisettimanale).
Il processo:
Regole chiave:
Durante l'iterazione:
La pianificazione dell'iterazione è più leggera della pianificazione del rilascio. Le storie sono già stimate. Il focus è sulla suddivisione in task e sull'impegno su quantità realistiche.
I piani cambiano. XP se lo aspetta e integra l'adattamento.
Quando aggiustare:
Come aggiustare:
Cosa non cambia mai: La qualità. XP non scambia qualità per ambito o tempistiche. Se sei indietro, consegni meno—non peggio.
Il planning game presume un aggiustamento continuo. Il piano iniziale è un punto di partenza, non un impegno a un risultato esatto. Come dice Kent Beck: "Lo scopo della pianificazione è pianificare, non il piano."
Non Sacrificare Mai la Qualità
Se sei in ritardo, riduci l'ambito. Non ridurre mai la copertura dei test, saltare il refactoring o accumulare debito tecnico 'per consegnare in tempo.'
Il planning game richiede un cliente—qualcuno che rappresenta le priorità di business.
Potrebbe essere:
Il cliente deve:
Il "cliente on-site" di XP originariamente significava qualcuno fisicamente presente con il team. Nei team distribuiti moderni, "on-site" potrebbe significare "su Slack" o "nello standup giornaliero." La chiave è la disponibilità, non la posizione fisica.
Senza un cliente, la pianificazione fallisce. Gli sviluppatori indovinano la priorità. L'ambito si espande perché nessuno decide cosa è fuori. Il team costruisce la cosa sbagliata.