Scrumban: Il Migliore dei Due Mondi Scrum e Kanban PDF
Document Details
Uploaded by CostEffectiveThorium1709
University of Milan
Tags
Summary
Questo documento esplora la metodologia Scrumban, un approccio di gestione dei progetti che combina gli aspetti di Scrum e Kanban. Focalizzandosi sulla flessibilità e sull'adattabilità, Scrumban offre una panoramica dei vantaggi e delle differenze rispetto alle metodologie più convenzionali, ideando una soluzione efficace per team di sviluppo e manutenzione.
Full Transcript
**Cos\'è Scrumban? Il meglio dei due mondi Scrum e Kanban** Scrumban è stato introdotto da Corey Ladas, un appassionato di metodologia di Sviluppo Software, nel suo libro, Scrumban: "Essays on Kanban Systems for Lean Software Development". Ladas afferma che Scrumban è stato creato come mezzo per f...
**Cos\'è Scrumban? Il meglio dei due mondi Scrum e Kanban** Scrumban è stato introdotto da Corey Ladas, un appassionato di metodologia di Sviluppo Software, nel suo libro, Scrumban: "Essays on Kanban Systems for Lean Software Development". Ladas afferma che Scrumban è stato creato come mezzo per far passare un team di sviluppo da Scrum a Lean o Kanban. Ma mentre l\'intento era che i team sostituissero Scrum, è diventato una metodologia a sé stante, che combina elementi sia di Scrum che di Kanban. La decisione di sostituire Scrum o Kanban con Scrumban dovrebbe essere presa in risposta all\'ambiente e alle esigenze organizzative. Scrumban è più comunemente utilizzato nei progetti di sviluppo e manutenzione. In pratica, sia i team di sviluppo che quelli di manutenzione hanno bisogno di molte delle stesse competenze. I team di sviluppo hanno bisogno di un mezzo per gestire l\'intero processo di sviluppo, mentre i team di manutenzione devono essere in grado di effettuare aggiornamenti e riparazioni al software difettoso. Scrumban combina i principi di Scrum e Kanban in un sistema basato su pull. Il team pianifica il lavoro stabilito durante l\'avvio e sistema continuamente il backlog. Dovrebbero aver luogo le stesse riunioni Scrum, ma la frequenza può cambiare a seconda del contesto e delle esigenze. La parte più importante di Scrumban è assicurarsi che vengano rispettati i limiti di lavoro in corso (limiti WIP). Scrumban prende spezzoni da Scrum e Kanban. Ad esempio, include i ruoli definiti, Scrum giornaliero e altre riunioni da Scrum. E da Kanban, prende la bacheca Kanban, il flusso continuo e la capacità di aggiungere modifiche alla bacheca in base alle necessità. Scrumban può assomigliare di più a Scrum a livello tecnico, ma a livello culturale, somiglierà di più a Kanban. Invece di grandi cambiamenti tutti in una volta, Scrumban incoraggia cambiamenti incrementali. Se il tuo team sta cercando di migrare da Scrum a Kanban, Scrumban può fornire una transizione graduale. Per essere ancora più precisi vediamo adesso un confronto pratico tra **Scrumban e Scrum** e tra **Scrumban e Kanban.** **Confronto tra Scrumban e Scrum** **Iterazione**: l\'iterazione è la caratteristica distintiva di Scrum, mentre Scrumban adotta l\'approccio Kanban del flusso di lavoro continuo, con le iterazioni facoltative. **Ruoli del Team:** Scrum ha ruoli definiti con i membri del team di sviluppo che indossano tutti i cappelli di un progetto di sviluppo, mentre Scrumban richiede ruoli solo quando necessario. **Visualizzazione**: Scrum può utilizzare una bacheca, ma dipende principalmente da backlog e grafici burndown, mentre Scrumban, come Kanban, dipende dalla bacheca Scrumban per mantenere la visibilità sul lavoro. **Riunioni**: sia Scrum che Scrumban tengono riunioni giornaliere, ma non ci sono riunioni di pianificazione Sprint o release e retrospettive in Scrumban. Scrumban abbraccia la pianificazione on-demand. **Stima**: i team Scrum devono stimare (spesso utilizzando il sistema di pianificazione bucket-size e story point) il tempo di lavoro necessario per soddisfare gli impegni di uno Sprint, mentre Scrumban non ha vincoli di tempo. Invece, la stima diventa evidente nel tempo man mano che il team porta a termine più attività. **WIP**: il WIP di Scrum è definito interamente dal backlog dello Sprint e pianificato all\'inizio di ogni Sprint, mentre il team Scrumban limita il WIP alle risorse disponibili. **Cambiamento**: il cambiamento è ben accetto in Scrum perché può essere affrontato e pianificato in uno Sprint successivo, ma in Scrumban il cambiamento viene affrontato istantaneamente. La mancanza di Sprint e backlog significa che non ci sono limiti a quando possono essere introdotte le attività. Il cambiamento diventa una questione di una risorsa che diventa disponibile per assumerselo. **Feature Freeze:** sebbene Scrumban risponda al cambiamento istantaneamente, c\'è un limite. Scrumban adotta Feature Freeze, un tempo limite in cui non è possibile aggiungere modifiche o funzionalità aggiuntive perché la scadenza del progetto si avvicina. **Selezione**: poiché Scrumban non abbraccia la stima, la fase di selezione è critica. Quando si avvicina la scadenza del progetto, la selezione di Scrumban consente al Project Manager di terminare il lavoro sulle funzionalità meno importanti per completare in tempo le funzionalità essenziali. **Confronto tra Scrumban e Kanban** **Ruoli del team:** Kanban non ha ruoli prescritti, ma in Scrumban c\'è un team definito e potrebbe avere ruoli richiesti. **Riunioni**: Kanban non richiede riunioni, ma Scrumban consiste in riunioni giornaliere. Le riunioni giornaliere aiutano a mantenere la collaborazione tra i membri del team e a superare gli ostacoli al progresso. Inoltre, mentre Kanban riguarda un processo in evoluzione, non ci sono riunioni prescritte per esaminare l\'evoluzione o i miglioramenti proposti. Scrumban consente al team di lavorare sui miglioramenti del processo e ai membri del team di condividere ciò che hanno imparato dal lavoro. **Metriche**: sia Kanban che Scrumban si basano sulla misurazione del lead time e del tempo di ciclo (a volte usati in modo intercambiabile) come metrica chiave. Questa metrica stima il tempo medio necessario per completare un\'attività specifica. Il Lead Time è ciò che il cliente vede dal momento in cui viene effettuata una richiesta alla consegna. Il Tempo di Ciclo è il tempo dall\'inizio del lavoro alla consegna. **Quale è, allora, l\'ambiente migliore per introdurre Scrumban?** Potreste chiedervi quale sia l\'ambiente migliore per introdurre Scrumban. Come per tutte le metodologie, Scrumban non è adatto a tutti gli ambienti o culture. Se la tua organizzazione è perfettamente adatta a Scrum, con molti membri esperti, clienti che vogliono partecipare al processo di sviluppo, una chiara comprensione delle User Story e la tua cultura aziendale è una in cui la gestione dei progetti e le tempistiche definite sono altamente considerate, potresti voler attenerti a Scrum. Se operi principalmente in un ambiente di manutenzione in cui il nuovo sviluppo è una piccola parte delle attività del team, il lavoro è continuo, l\'estrazione di attività in base alle necessità è importante e non ci sono progetti definiti per clienti specifici, potresti voler attenerti a Kanban. **Il momento migliore per implementare Scrumban è quando:** - Un progetto ha un sacco di cambiamenti inaspettati nelle user story e rielaborazione delle priorità. - Vuoi aggiungere funzionalità pull al processo di sviluppo Scrum. Scrum non ha avuto successo a causa di un certo numero di problemi o perché non ci sono abbastanza risorse per soddisfare i vincoli di tempo di Scrum. - Il lavoro è guidato dagli eventi, come il supporto dell\'help desk, dove le priorità cambiano costantemente. - Il team è interamente concentrato sull\'aggiunta di funzionalità e sul supporto di un prodotto esistente. - Scrum è utilizzato dal tuo team di sviluppo, ma sei interessato ad alcuni principi di Kanban. - Trovi che parte della rigidità di Scrum limiti la capacità del tuo team di adattarsi al cambiamento. - Stai passando a Kanban, ma devi apportare piccole modifiche alla metodologia per limitare le interruzioni. - La parola finale su Scrumban sarà sempre come il team risponde al metodo. Scrum funziona bene per i team che amano più struttura e vogliono sapere su cosa lavoreranno domani. Possiamo dire in definitiva che il vantaggio principale di Scrumban è la fluidità del modello. Alla fine, come nel caso di qualsiasi metodologia di sviluppo, l\'adesione dell\'azienda e del team determinerà il successo. \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ **Kanban vs Agile** **Differenze e somiglianze: Agile vs Kanban** Sebbene Kanban sia un modo visivo per implementare Agile, presentano molte differenze: Kanban sostiene il flusso continuo, mentre Agile funziona in iterazioni. Kanban può funzionare ugualmente bene per qualsiasi tipo di lavoro, mentre Agile potrebbe essere più adatto ad alcuni progetti piuttosto che ad altri. Chiunque può apprendere Kanban, ma alcune metodologie Agile richiedono conoscenza o formazione. Kanban richiede una rappresentazione visiva del flusso di lavoro, mentre Agile no. Alcuni progetti Agile richiedono team interfunzionali, mentre Kanban no. Agile è una filosofia mentre Kanban è un metodo. **Agile e Kanban hanno anche delle somiglianze:** Entrambi suddividono i progetti in blocchi più piccoli. Sottolineano il miglioramento continuo. Attribuiscono grande valore alla trasparenza. Nessuno dei due richiede molta pianificazione iniziale. Lavorano per una consegna più rapida. Quando dovresti usare Kanban e quando usare Agile **Ti consiglio di usare Kanban se:** Il tuo progetto non richiede iterazioni. Vuoi avere la possibilità di rilasciare in qualsiasi momento. Il tuo team preferisce cambiamenti incrementali. Il tuo team lavora bene con gli elementi visivi. Vuoi migliorare il flusso di consegna. Stai cercando un sistema facile da capire. **E ti consigliamo di usare Agile se:** Il prodotto finale non è chiaramente definito. Le modifiche devono essere implementate durante l\'intero processo. Gli sviluppatori sono adattabili e possono pensare in modo indipendente. Stai cercando di apportare una modifica sostanziale. **Quale è migliore? Agile vs Kanban** Come con qualsiasi metodologia di gestione dei progetti, non esiste un framework che sia migliore nel 100% dei casi. Potresti scegliere Kanban per alcuni progetti, ma voler implementare Agile per altri. Considera quale livello di cambiamento vuoi introdurre nel tuo team. Se vuoi aggiungere qualcosa in più a un framework esistente con piccole modifiche incrementali, Kanban è una scelta migliore. Se stai cercando di apportare un cambiamento di processo più grande, implementare Agile (come Scrum) sarebbe meglio. E, se vuoi che il tuo team di progetto inizi subito con un nuovo metodo, Kanban è più facile da capire. Non è richiesta alcuna formazione e può essere utilizzato in aggiunta a qualsiasi processo esistente. D\'altro canto, alcuni metodi Agile richiedono una maggiore conoscenza da parte del team. Ad esempio, potrebbero dover apprendere ruoli, cerimonie e terminologie specifici.