Simyl
simylflow
Lezione 4 di 5
11 min

XP + Kanban

Le pratiche di XP in un sistema basato sul flusso—scambiando le iterazioni con la consegna continua.

1XP Senza Iterazioni

XP originariamente utilizzava le iterazioni—una o due settimane di lavoro pianificato, poi una demo e una sessione di pianificazione. Kanban utilizza il flusso continuo: gli elementi di lavoro si muovono attraverso il sistema uno alla volta, senza lotti fissi.

Questi approcci non sono incompatibili. Le pratiche fondamentali di XP funzionano con qualsiasi sistema di flusso.

Cosa cambia:

  • Nessuna pianificazione di iterazione (pianifichi just-in-time)
  • Nessuna demo di iterazione (fai demo quando le funzionalità sono completate)
  • Nessuna velocity nel senso di Scrum (misuri lead time e throughput)

Cosa rimane uguale:

  • TDD (scrivi ancora i test prima)
  • Pair programming (collabori ancora sul codice)
  • Refactoring (mantieni ancora il design pulito)
  • CI (integri ancora continuamente)
  • Rilasci piccoli (Kanban incoraggia questo ancora di più)
  • Coinvolgimento del cliente (serve ancora qualcuno che prioritizzi e accetti)

Le pratiche tecniche sono indipendenti da come organizzi il lavoro.

Le pratiche ingegneristiche di XP sono agnostiche rispetto al tuo approccio di pianificazione. TDD non si preoccupa se stai facendo sprint o flusso.

2Limiti WIP e XP

La pratica distintiva di Kanban sono i limiti WIP: limitare quanto lavoro è in corso contemporaneamente.

Questo si allinea con i principi di XP:

Focus: I limiti WIP prevengono il cambio di contesto. XP valorizza il focus (ritmo sostenibile, pairing per lavoro profondo).

Flusso: Limitare il WIP crea flusso. Anche i rilasci piccoli e la CI di XP creano flusso.

Qualità: Meno WIP significa meno fretta. Il focus sulla qualità di XP beneficia della riduzione della pressione.

Finisci ciò che inizi: Sia Kanban che XP favoriscono il finire rispetto all'iniziare. Non iniziare nuovo lavoro quando il lavoro esistente può essere completato.

Pairing e WIP: Se fai pair programming, il WIP è naturalmente limitato. Due persone su un elemento significano meno elementi in corso.

La sinergia è forte. I vincoli di Kanban completano il focus di XP su qualità e completamento.

3Mentalità di Consegna Continua

Kanban spinge verso la consegna continua: ogni elemento completato è potenzialmente rilasciabile. Le pratiche di XP rendono questo possibile.

Perché XP abilita la consegna continua:

  • Test: Ogni funzionalità è verificata automaticamente
  • CI: Il codice è sempre integrato e compilabile
  • Design semplice: Nessun coordinamento complesso di rilascio
  • Refactoring: Il codice rimane pulito e deployabile
  • Rilasci piccoli: Già una pratica fondamentale di XP

Kanban senza le pratiche di XP fatica a raggiungere la consegna continua. Senza test, non puoi essere sicuro che le cose funzionino. Senza CI, l'integrazione è incerta. Senza design semplice, i rilasci sono complessi.

Insieme: Kanban dice "consegna continuamente." XP dice "ecco come."

Flusso XP + Kanban

Gli elementi di lavoro fluiscono attraverso la board: Backlog → In Progress → Review → Done. Gli sviluppatori lavorano in coppia sugli elementi, scrivono i test prima, integrano continuamente. Quando un elemento raggiunge Done, viene deployato immediatamente. Il WIP è limitato a 3 elementi in corso.

Kanban Senza XP

Un team usa una board Kanban ma non ha test, né pairing, né CI. Gli elementi si muovono attraverso la board ma la qualità è scarsa. 'Done' non significa deployabile—significa 'pensiamo che funzioni.'

4ScrumBan: L'Ibrido degli Ibridi

ScrumBan combina Scrum, Kanban e (spesso implicitamente) XP:

Da Scrum:

  • Ritmi di pianificazione regolari (anche se non necessariamente legati agli sprint)
  • Retrospettive per il miglioramento
  • Ruolo di Product Owner per la prioritizzazione

Da Kanban:

  • Board visuale con limiti WIP
  • Metriche di flusso (lead time, throughput)
  • Lavoro basato sul pull (prendi il prossimo elemento quando sei pronto)

Da XP:

  • Pratiche ingegneristiche (TDD, pairing, ecc.)
  • Focus sulla qualità
  • Ritmo sostenibile

Questo ibrido funziona bene per i team che vogliono struttura (Scrum) con flusso (Kanban) e qualità (XP).

L'etichetta conta meno delle pratiche. Usa ciò che funziona; abbandona ciò che non funziona.

5Scegliere Tra Iterazioni e Flusso

Quando usare XP con iterazioni (stile Scrum):

  • Gli stakeholder vogliono incrementi di pianificazione prevedibili
  • Il team beneficia di ritmo e riflessione regolari
  • Il lavoro si raggruppa naturalmente in deliverable
  • L'organizzazione pensa in sprint

Quando usare XP con flusso (stile Kanban):

  • Il lavoro arriva in modo imprevedibile (supporto, operazioni)
  • Il deployment continuo è l'obiettivo
  • I confini delle iterazioni sembrano artificiali
  • Il team è abbastanza maturo da auto-gestirsi senza ritmo imposto

Entrambi gli approcci funzionano con le pratiche di XP. Le pratiche rimangono; cambia il contenitore organizzativo.

Molti team evolvono da Scrum verso Kanban man mano che maturano. Le iterazioni forniscono rotelle di supporto. Il flusso è il livello avanzato. Ma non c'è niente di sbagliato nel rimanere con le iterazioni se funzionano per te.

Se non sei sicuro, inizia con le iterazioni. La struttura aiuta i team a imparare. Puoi sempre passare al flusso più tardi man mano che maturi.

Punti Chiave
  • Le pratiche ingegneristiche di XP funzionano con sistemi basati sul flusso (Kanban)
  • I limiti WIP si allineano con il focus di XP sul completamento e la qualità
  • XP rende possibile la consegna continua attraverso test, CI e design semplice
  • ScrumBan combina il meglio di Scrum, Kanban e XP
  • Scegli iterazioni o flusso in base al contesto—entrambi funzionano con XP
Errori Comuni da Evitare
  • Usare Kanban senza le pratiche di XP (flusso senza qualità)
  • Pensare di dover scegliere tra Scrum, Kanban e XP (si combinano)
  • Abbandonare tutta la struttura quando si passa al flusso (mantieni retrospettive, pianificazione)

Esercizi Pratici