Ho sentito brulicante menzionato nel contesto di Agile o di Extreme Programming. Sembra essere un complemento dell'associazione.
Che cosa è esattamente? Quando dovrebbe essere applicato? Come lo fai bene?
Ho sentito brulicante menzionato nel contesto di Agile o di Extreme Programming. Sembra essere un complemento dell'associazione.
Che cosa è esattamente? Quando dovrebbe essere applicato? Come lo fai bene?
Risposte:
L'idea è che tutti i membri del tuo team lavorino sulla stessa storia allo stesso tempo. Invece di concentrarsi su attività diverse, tutti si concentrano su un'attività alla volta fino al completamento. Quindi passano alla cosa successiva, in cui lavorano tutti insieme.
Questo aiuta le squadre che lottano per completare le storie prima della fine dello sprint. Spesso le squadre finiscono l'80% di tutte le storie, ma nessuna è completa. Ciò è meno utile del completamento completo dell'80% delle storie, poiché le storie non finite non hanno (effettivamente) alcun valore per un utente finale. È più facile completare le storie quando tutti i membri del team si stanno concentrando su una storia alla volta. Questa è la motivazione dietro lo sciame.
Ci sono alcune difficoltà qui. Ad esempio, il QA non può sempre testare le cose prima che vengano costruite (o addirittura progettate). In questo caso, è necessario stabilire un progetto insieme all'inizio, quindi il QA può scrivere test (inizialmente non riusciti) rispetto al progetto e non all'implementazione effettiva.
Lo sciame si riferisce al fatto che più persone lavorano insieme per completare un'attività o una storia. Nella mia esperienza questo non è qualcosa che fai spesso.
In genere, ogni membro del mio team lavora su un compito diverso e / o su una storia diversa. Se qualcuno è in ritardo, o se c'è il desiderio di finire presto un'attività o una storia, altre persone smetteranno di lavorare su altre attività e "sciamano" per completare l'attività, il che significa che tutti lavorano insieme su una singola attività o storia fino a quando è completato.
Recentemente abbiamo avuto un piccolo numero di storie che erano un lavoro abbastanza noioso e poco interessante. Ho dato alla squadra un piccolo incentivo (pizza) e una scadenza (fine della giornata) per finire il lavoro, così hanno sciamato sulla storia e hanno eliminato almeno un paio di giorni di lavoro in un pomeriggio. Hanno svolto il lavoro e fatto presto, quindi ogni membro del team è tornato a qualunque cosa stessero lavorando. Hanno pranzato gratuitamente, ho fatto presto un lavoro che avrebbe potuto trascinarsi a causa della sua natura noiosa e la squadra ha superato il loro sprint. Win-win-win.
"Sciamare" non è altro che un termine elegante per "ehi, lascia che ti aiutiamo in questo".
Lo sciame è in realtà un concetto centrale per l'agilità. Non è qualcosa che si fa "quando ci sono problemi". Lo sciame, nella sua forma più semplice, significa che i team lavorano in modo collaborativo su oggetti (storie) e li completano. Il concetto di base è "smettere di iniziare e iniziare a finire". In altre parole, invece di ogni sviluppatore che lavora in modo indipendente su una storia, il team si concentra su un insieme più limitato di storie / attività e realizza ogni oggetto prima. Pensalo come la differenza tra un sistema a thread singolo e multithread. Se una User Story ha 10 attività da svolgere e ognuna è di 8 ore, supponendo che non vi siano state complicazioni, uno sviluppatore potrebbe svolgere ciascuna attività in sequenza e completare la storia in 80 ore o circa due settimane (dato uno sprint di 10 giorni di 8 ore di sviluppo al giorno). E se due sviluppatori dividessero i compiti e li svolgessero contemporaneamente? Le stesse 80 ore di lavoro possono essere completate in questo modo in una settimana. Aggiungi un terzo e ora puoi vedere che potrebbe essere fatto in 3-4 giorni.
Lo sciame può essere fatto in diversi modi:
I team che danno una storia a ogni sviluppatore tendono ad avere troppo "work in progress" o WIP, e spesso molte storie iniziano ma non vengono fatte. Questo è un ANTI-MOTIVO e NON è le migliori pratiche.
I team che brulicano tendono ad avere meno WIP e completare più storie - e per dire, intendo sviluppato, testato, approvato, pronto per essere distribuito. Pertanto, questa è una pratica fondamentale per l'agilità.
Il seguente articolo su InfoQ descrive un approccio allo sciame:
Leggi l'articolo per la spiegazione dettagliata.