Le basi dello sviluppo software agile
Lo sviluppo software agile è, con l'eccezione riportata di seguito, iterativo. Un'iterazione è un breve periodo di tempo che va da un mese a una sola settimana. La durata media di un'iterazione nei diversi team è, secondo la mia esperienza, da un mese (lo standard Scrum) a una settimana, che è la mia raccomandazione per un ciclo XP. Credo che la tendenza attuale siano due settimane.
Ma sto divagando. L'elemento più importante in Agile, la Conditio sine qua non, la condizione necessaria, il prerequisito, ciò che bisogna assolutamente fare, è:
Il team deve consegnare software funzionante, testata e integrata alla fine di ogni iterazione; in Scrum si direbbe che deve essere „done-done”
Non c'è alternativa. Non si può consegnare qualcosa solo a iterazioni alterne. Non si può nemmeno consegnare software quasi finita e poi correggerla nell'iterazione successiva. Non provate nemmeno a sottrarvi. Dovete consegnare software.
Un'eccezione
Se pensavate di trovare qui una scappatoia, vi siete sbagliati. L'unica eccezione alla consegna di software finita in ogni iterazione è consegnare ancora più frequentemente. Alcuni team di punta lavorano attualmente in una sorta di modalità Kanban, in cui rilasciano feature essenzialmente in modo continuo, di norma ogni pochi giorni.
Non c'è via d'uscita
Software reale, funzionante, integrata, testata, done-done – e questo in ogni singola iterazione, oppure semplicemente in modo permanente. Lungo il cammino dovrete imparare cosa significa tutto questo e incontrerete sicuramente delle difficoltà. Noterete però anche che „done” significa più di quanto pensavate. Naturalmente include anche il manuale d'uso. Naturalmente include anche la formazione degli utenti. Naturalmente include tutto ciò che pensavate non fosse possibile.
Nobody’s perfect
Il vostro team non è perfetto e probabilmente non riuscirà a fare tutto questo in ogni iterazione. Quello che dovreste assolutamente fare, se avete ancora margini di miglioramento, è qualcosa che in Scrum viene chiamato „Inspect & Adapt”. Kent Beck l'ha espresso una volta così: „Trova il tuo problema più grande, risolvilo nel modo XP e ripeti il procedimento.”
Se avete bisogno di aiuto, procuratevelo.
E ora cominciate a consegnare quel software!
Questo testo proviene dal blog di Ron Jeffries ed è stato tradotto in italiano da noi.