Scrumban: scegliere la via di mezzo tra Scrum e Kanban

By Kate Eby | 22 Agosto 2016

Dopo che il Manifesto Agile si è fatto strada nella coscienza dello sviluppo software, le metodologie Agile hanno iniziato a emergere, cercando un modo per mettere in pratica i valori e i principi Agile. Queste metodologie includono Extreme Programming (XP), Scrum, Feature Driven Development (FDD), Lean Software Development, Agile Unified Process (Agile UP o AUP), Crystal, Kanban e Dynamic Systems Development Method (DSDM).

Ogni metodo ha punti di forza e di debolezza e ognuno soddisfa le esigenze degli sviluppatori, ma con sottili differenze. Come spiegano Andy Kyte, David Norton e Nathan Wilson, tutti di Gartner, in 10 Things CIOs Need to Know about Agile Development : "Nella maggior parte delle organizzazioni del settore pubblico e commerciale, il portafoglio di applicazioni presenterà molte classi diverse di problemi di sviluppo, alcuni dei quali saranno adatti ad Agile, mentre altri possono essere più adatti a modelli incrementali, di sviluppo iterativo e alcuni a un modello a cascata modificato. Agile non è "migliore"; è semplicemente più adatto per alcuni problemi, ma non così tanto adatto per altri."

Attualmente, Scrum è la metodologia Agile più popolare per lo sviluppo di software. Tuttavia, Kanban è diventato ampiamente utilizzato per i progetti di manutenzione in cui un gioco finale non è necessariamente l'obiettivo del progetto, ma piuttosto uno sviluppo continuo senza fare affidamento su un backlog chiaramente definito. In questo articolo parleremo di come Scrumban è diventato la via di mezzo tra le metodologie Scrum e Kanban Agile. Per comprendere pienamente Scrumban, è necessario avere una comprensione completa di Scrum e Kanban.

Scrum: vantaggi e svantaggi

Ogni metodologia presenta vantaggi e svantaggi. Scrum è una metodologia Agile che impiega piccoli team che lavorano in modo collaborativo in brevi periodi di sviluppo (sprint), per fornire software funzionante alla fine di ogni sprint temporale. Scrum modifica deliberatamente il processo di pianificazione, concentrandosi sullo sviluppo rapido di software funzionanti in pezzi più piccoli. Alcuni dei vantaggi di Scrum includono:

  • Migliorare la pianificazione - Scrum supera il problema di requisiti aziendali complessi che sono difficili da comprendere e che rendono difficile la pianificazione. L'approccio Scrum alla valutazione dei requisiti consiste nel suddividerli in pezzi consumabili che vengono sviluppati rapidamente.
  • Riduci l'impatto degli errori - Gli errori che possono essere eseguiti in uno Scrum vengono rapidamente rielaborati e riparati nel prossimo Scrum.
  • Migliora la comunicazione - Le riunioni giornaliere assicurano che gli aggiornamenti sullo stato (progressi e stalli) siano altamente visibili. Infatti, la gestione dello sviluppo può essere ridotta all'utilizzo di una task board, in cui il backlog degli sprint è elencato in una tabella insieme alle colonne che indicano lo stato.
  • Aumenta la produttività - Le riunioni giornaliere aumentano la produttività del team.
  • Costruire relazioni migliori con i clienti - La natura iterativa di Scrum significa che il coinvolgimento e il feedback dei clienti sono importanti e ciò rende il team più consapevole delle esigenze del cliente e il team, a sua volta, può essere più reattivo a tali esigenze.
  • Migliorare il software - Il cambiamento non è un'interruzione, ma un mezzo per migliorare il valore del software.

D'altro canto, alcuni dei vantaggi di Scrum includono:

  • Scope creep - Senza una fine definita di un progetto e con il cambiamento accolto così volentieri, lo scope creep diventa un problema reale. Le parti interessate sono spesso tentate di aggiungere sempre più funzionalità.
  • Non ideale per i team di grandi dimensioni - Scrum funziona meglio con un piccolo team.
  • I membri del team inesperti possono essere una responsabilità - L'implementazione di successo di Scrum dipende dalla capacità dei membri del team di stimare i tempi di sviluppo.
  • Scarsa adattabilità ai micromanager - Scrum funziona meglio quando lo Scrum Master può contare sul team senza dover controllare troppo. Scrum riguarda gli individui che gestiscono il loro lavoro insieme, senza ricevere una supervisione pesante.
  • Il turnover può essere enormemente negativo - Le piccole dimensioni del team e la brevità dei periodi di sviluppo possono essere pesanti.
  • La gestione della qualità è più difficile - I membri del team eseguono tutti i test, ma i test di regressione vengono talvolta lasciati fuori dal ciclo, il che risulta essere l'unico test eseguito.

Project Management Guide

Your one-stop shop for everything project management

the 101 guide to project management

Ready to get more out of your project management efforts? Visit our comprehensive project management guide for tips, best practices, and free resources to manage your work more effectively.

View the guide

Cos'è la metodologia Kanban?

Kanban, sviluppato da Taiichi Ohno, ingegnere presso Toyota, è definito come un metodo per gestire e migliorare la fornitura di servizi gradualmente nel tempo. Esistono tre principi guida del metodo Kanban:

  • Inizia con ciò che fai ora
  • Accetta di perseguire un cambiamento incrementale ed evolutivo
  • Rispetta l'attuale processo, i ruoli, le responsabilità e i titoli

Esistono cinque proprietà principali di Kanban:

  • Visualizzare il flusso di lavoro
  • Limitare i lavori in corso (WIP)
  • Gestire il flusso
  • Esplicitare le politiche di gestione e di processo
  • Miglioramento continuo, noto anche come Kaizen (utilizzando modelli e metodo scientifico)

Kanban: vantaggi e svantaggi

Proprio come Scrum, Kanban ha i suoi vantaggi e svantaggi. Alcuni dei vantaggi di Kanban includono:

  • Migliora l'allocazione delle risorse - Il WIP è limitato, in modo che il nuovo lavoro venga inserito nel team man mano che le risorse diventano disponibili.
  • Semplifica la gestione dei progetti - La bacheca Kanban fornisce una visualizzazione a colpo d'occhio dello stato di tutto il lavoro, consentendo una gestione più semplice dei progetti.
  • Riduce l'interruzione - Il cambiamento è meno radicale perché lavori con i processi che hai e li migliori nel tempo.
  • Prendere decisioni più consapevoli - La visualizzazione del flusso di lavoro rende più facile comprendere come procede il lavoro e rende più facili le decisioni sulle modifiche.

Alcuni degli svantaggi di Kanban includono:

  • Le bacheche Kanban devono essere aggiornate - Una bacheca Kanban obsoleta può causare grossi problemi. Kanban si affida ai membri del team per tenere tutto aggiornato e, mancando le riunioni giornaliere di Scrum, questo può essere più difficile da fare.
  • Rendere una bacheca Kanban troppo complessa - Quando ci sono troppi elementi o processi monitorati su una bacheca Kanban, può creare confusione e rendere difficile l'aggiornamento accurato.
  • Mancanza di scadenze: senza tempistiche per lo sviluppo, il team può essere indietro

Scrum e Kanban: come si differenziano

Scrum e Kanban sono molto diversi. Può sembrare impossibile riconciliarli. Scrum ha una serie di ruoli prescritti, tra cui Scrum Master, proprietario del prodotto e parti interessate. Al contrario, Kanban non ha ruoli prescritti. Sia Scrum che Kanban sono considerati sistemi "pull": significa che i membri del team estraggono le funzionalità dal backlog quando diventano disponibili per lavorare su di esse. Un'altra prospettiva è che, a causa del carattere a "batch" del backlog, Scrum è in realtà un sistema "push", in cui una serie di funzionalità vengono assegnate al team all'inizio dello sprint. Il Kanban è considerato un sistema innegabilmente pull-based in cui le funzionalità vengono continuamente estratte dal backlog in base alle necessità.

Scrum prevede una riunione giornaliera e diverse riunioni necessarie, come la demo in cui il software viene rivelato al cliente per un feedback. Kanban non ha riunioni necessarie.

Forse la differenza più sorprendente tra Scrum e Kanban è che, mentre Scrum è limitato dalla lunghezza dello sprint, Kanban funziona senza un limite di tempo per lo sviluppo. Non ci sono inizio o fine definiti, ma piuttosto un flusso continuo di lavoro, con ogni sviluppo di successo seguito dall'inizio di un nuovo sviluppo.

Sebbene Scrum sia pensato per essere facile e flessibile, alcuni team di sviluppo ritengono che sia troppo rigido per il loro business Agile. Allo stesso tempo, ritengono che Kanban sia troppo lassista. Scrumban è nato come una via di mezzo tra Scrum e Kanban: la rigidità di Scrum combinata con il più indulgente Kanban è diventato un metodo perfetto per molte organizzazioni Agile.

Metodologia Scrumban: il meglio di entrambi i mondi

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. Afferma che Scrumban è stato creato come mezzo per la transizione di un team di sviluppo da Scrum a Lean (si basa su un flusso di costruzione, misura, apprendimento per il miglioramento continuo e si concentra solo su ciò che porta valore ai clienti) o Kanban. Ma sebbene l'intento dei team fosse quello di sostituire Scrum, è diventata una metodologia a sé stante, che combina elementi di Scrum e Kanban. La decisione di sostituire Scrum o Kanban con Scrumban deve 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 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 apportare aggiornamenti e riparazioni a software difettosi.

Confronto tra Scrumban e Scrum

  • Iterazioni: l'iterazione è la caratteristica che definisce Scrum, mentre Scrumban adotta l'approccio Kanban del flusso di lavoro continuo, con iterazioni facoltative.
  • Ruoli del team: Scrum ha ruoli definiti con i membri del team di sviluppo che ricoprono tutti i ruoli di un progetto di sviluppo, mentre Scrumban richiede solo ruoli in base alle necessità.
  • Visualizzazione: Scrum può utilizzare una bacheca, ma dipende principalmente da backlog e diagrammi di 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 sullo sprint o di pianificazione del rilascio e retrospettive in Scrumban. Scrumban adotta la pianificazione on-demand.
  • Stima: i team Scrum devono stimare (spesso utilizzando il sistema di pianificazione delle dimensioni del bucket e i punti della storia) il tempo necessario per rispettare gli impegni di uno sprint, mentre Scrumban non ha un vincolo di tempo. Al contrario, la stima diventa evidente nel corso del tempo man mano che il team svolge più attività.
  • WIP: il WIP di Scrum è definito interamente dal backlog degli sprint e pianificato all'inizio di ogni sprint, mentre il team Scrumban limita il WIP alle risorse disponibili.
  • Cambiamento: il cambiamento è accolto con favore in Scrum perché può essere risposto e pianificato in uno sprint successivo, mentre in Scrumban il cambiamento riceve una risposta istantanea. La mancanza di sprint e backlog significa che non ci sono limiti su quando le attività possono essere introdotte. Il cambiamento diventa una questione di una risorsa che diventa disponibile per assumerlo.
  • Blocco delle funzionalità: sebbene Scrumban risponda ai cambiamenti istantaneamente, esiste un limite. Scrumban adotta il blocco delle funzionalità: un tempo limite in cui non è possibile aggiungere modifiche o funzionalità aggiuntive perché la scadenza del progetto si sta avvicinando.
  • Triage: poiché Scrumban non abbraccia la stima, la fase di triage è fondamentale. Con l'avvicinarsi della scadenza di un progetto, il triage di Scrumban consente al project manager di terminare il lavoro su funzioni meno importanti al fine di completare le funzioni essenziali in tempo.

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, sebbene Kanban si tratti di un processo in evoluzione, non ci sono riunioni prescritte per l'esame dell'evoluzione o miglioramenti proposti. Scrumban consente di effettuare riesami dopo la fine del progetto che consentono al team di lavorare sui miglioramenti dei processi e ai membri del team di condividere ciò che hanno appreso dal lavoro.
  • Parametri: sia Kanban che Scrumban si basano sulla misurazione del tempo di consegna e del tempo di ciclo (a volte utilizzati in modo intercambiabile) come parametro chiave. Questo parametro stima il tempo medio necessario per completare un'attività specifica. Il tempo di consegna è quello 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.

Qual è l'ambiente migliore per introdurre Srumban?

Potresti chiederti quale sia l'ambiente migliore per l'introduzione di Scrumban. Come per tutte le metodologie, Scrumban non è adatto a ogni ambiente o cultura. Se la tua organizzazione è adatta in modo ottimale a Scrum, con molti membri esperti, clienti che desiderano 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 molto apprezzate, potresti 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 è in corso, l'assegnazione delle attività secondo le necessità è importante e non ci sono progetti definiti per clienti specifici, è possibile attenersi al Kanban.

Il momento migliore per implementare Scrumban è quando:

  • Un progetto ha una grande quantità di cambiamenti inaspettati nelle user story e nella rielaborazione delle priorità.
  • Si desidera 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, in cui 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.
  • Alcune delle rigidità di Scrum limitano la capacità del team di adattarsi ai cambiamenti.
  • Stai passando a Kanban, ma è necessario apportare piccole modifiche alla metodologia per limitare le interruzioni.

L'ultima parola su Scrumban sarà sempre il modo in cui il team risponderà al metodo. Scrum funziona bene per i team che amano più struttura e vogliono sapere su cosa lavoreranno domani. Il principale vantaggio di Scrumban è la fluidità del modello. Alla fine, come per qualsiasi metodologia di sviluppo, il consenso dell'azienda e del team determinerà il successo.

Perché Smartsheet è uno strumento efficace per Scrumban

Potenzia il rendimento dei tuoi dipendenti con una piattaforma flessibile progettata per soddisfare le esigenze del tuo team e capace di adattarsi alle condizioni mutevoli del lavoro. La piattaforma Smartsheet semplifica la pianificazione, l'acquisizione, la gestione e la creazione di report sul lavoro da qualsiasi luogo, aiutando il tuo team a essere più efficace e ottenere di più. Crea report sulle metriche chiave e ottieni visibilità in tempo reale sul lavoro mentre accade con report di riepilogo, pannelli di controllo e flussi di lavoro automatizzati creati per mantenere il tuo team connesso e informato. Quando i team hanno chiarezza sul lavoro da svolgere, possono ottenere maggiori risultati in meno tempo. Prova Smartsheet gratuitamente, oggi.

 

Scopri perché oltre il 90% delle compagnie Fortune 100 si affida a Smartsheet per eseguire il proprio lavoro.

Prova Smartsheet gratuitamente Get a Free Smartsheet Demo