Cos'è Kanban? Schede, schede, principi fondamentali e pratiche

Sommario:

Anonim

Cos'è Kanban?

Kanban è un framework molto popolare per lo sviluppo nella metodologia di sviluppo software agile. Fornisce un modo trasparente di visualizzare i compiti e la capacità di lavoro di un team. Utilizza principalmente schede fisiche e digitali per consentire ai membri del team di visualizzare lo stato corrente del progetto su cui stanno lavorando.

Kanban è nato in Toyota negli anni '40. Il significato di Kanban in giapponese è "cartelloni pubblicitari". La lavagna Kanban ha colonne e schede storia. Le colonne non sono altro che gli stati del flusso di lavoro e le schede non sono altro che una dimostrazione dell'attività effettiva che un membro del team sta eseguendo.

In questo tutorial Kanban imparerai:

  • Cos'è Kanban?
  • Quando utilizzare Kanban?
  • Schede Kanban
  • Tabellone Kanban
  • Flusso di lavoro Kanban
  • I quattro principi del Kanban
  • Le sei pratiche di base Kanban
  • Sistema basato su pull
  • Termine d'esecuzione e tempo di ciclo
  • Diagramma di flusso cumulativo (CFD)
  • Limitazione del WIP (work-in-progress)
  • Scrum vs. Kanban

Quando utilizzare Kanban?

Ecco i motivi per utilizzare il metodo di sviluppo Kanban:

  • Kanban può essere utilizzato in qualsiasi dominio e può essere utilizzato in modo molto efficace nello sviluppo del software. La gestione del progetto Kanban aiuta a migliorare l'efficienza del team.
  • È un sistema basato su pull. I compiti vengono ritirati non appena un individuo è libero.
  • Kanban dovrebbe essere usato quando vuoi pubblicare il tuo lavoro in qualsiasi momento. Richiede git branching, ma è fattibile.
  • Kanban dovrebbe essere usato quando vuoi cambiare le priorità al volo. Per questo, tutto ciò che devi fare è mettere questa storia in cima alla coda delle cose da fare.
  • Dovrebbe essere usato quando vuoi visualizzare il tuo lavoro e vuoi vedere lo stato di avanzamento delle tue attività visivamente.

Schede Kanban

Il sistema Kanban consiglia la visualizzazione del lavoro. Suggerisce l'uso della lavagna fisica e digitale.

Schede Kanban

Le carte Kanban sono pezzi essenziali sulla lavagna Kanban in quanto rappresentano il lavoro su cui sta lavorando il team. Queste carte avranno

  1. Priorità
  2. Proprietario
  3. genere
  4. Scadenza

Una colonna nella bacheca Kanban rappresenta la fase di lavoro e puoi inserire un limite WIP (Work in Progress) sulla colonna. Il limite WIP indica il numero massimo di carte che possono rimanere su quella colonna .

Poiché la gestione del progetto Kanban utilizza un sistema basato su pull, come e quando uno sviluppatore è libero, può estrarre una carta dalla colonna delle cose da fare alla colonna degli sviluppatori.

Tabellone Kanban

Kanban Board è uno strumento di gestione dei progetti agile che aiuta a implementare Kanaban per gestire progetti per scopi personali e aziendali. È una bacheca fisica o digitale (JIRA) progettata per aiutare i team a visualizzare il proprio lavoro in diverse fasi e processi. Aiuta anche a rappresentare le fasi di lavoro con le colonne usando le carte.

Ha colonne che rappresentano lo stato del lavoro come

  1. Fare,
  2. Dev
  3. Test
  4. Fatto.

Ciascuna di queste colonne può avere carte <= limite WIP. Le carte rappresentano il lavoro effettivo.

È possibile utilizzare numeri positivi per limitare il lavoro in corso e questo numero limite può essere posizionato in cima alle colonne nelle bacheche Kanban sia fisiche che digitali. Qualsiasi individuo del team può gestire lo stato della sua scheda e l'intero team può visualizzare il flusso di lavoro. Successivamente in questo tutorial Kanban, impareremo a conoscere il flusso di lavoro Kanban.

Flusso di lavoro Kanban

Kanban Workflow è un insieme di passaggi che aiuta i team a definire criteri e principi espliciti in Kanaban. Rappresenta le regole e le procedure mentre il lavoro è in corso attraverso le varie fasi di sviluppo e cicli di consegna. Il flusso di lavoro Kanban è costituito da processi passo passo tra l'avvio e la consegna di una determinata attività.

Il Kanban principale di base che segue è "smetti di iniziare, inizia a finire". Con l'aiuto dei limiti WIP, si ottiene più lavoro. Ci sono flussi di lavoro e stati Kanban personalizzabili disponibili in qualsiasi strumento moderno come JIRA.

Di seguito sono riportati gli stati di base seguiti da molti team software per la gestione del flusso di lavoro.

stati Comprensione dei compiti
Fare Le attività arrivano qui per la prima volta in questo stato.
Pronto per l'analisi Analizza l'attività e aggiungi completamente i requisiti.
Pronto per lo sviluppo Analisi completata e lo sviluppo può iniziare.
Nello sviluppo I compiti sono in fase di sviluppo.
Pronto per il test Sviluppo completato e ora possono iniziare i test.
Nel test Le attività sono in fase di test.
Pronto per il rilascio Test completato; il rilascio può avvenire.
Rilasciato / Fatto Rilasciato.

I quattro principi del Kanban

Di seguito sono riportati i quattro principi fondamentali principali di Kanban:

  1. Inizia con quello che hai ora : il sistema Kanban suggerisce di lavorare in modo incrementale e inizia con quello che hai attualmente. Poiché una delle sue pratiche è migliorare continuamente, è necessario migliorare gradualmente il sistema.
  1. Accetta di perseguire un cambiamento incrementale ed evolutivo: Kanban consiglia un cambiamento incrementale nel processo e non devi apportare un grande cambiamento nel processo in una volta sola.
  1. Rispetta il processo, i ruoli e le responsabilità attuali: ancora una volta, inizia da ciò che hai ora e cambia il processo, il ruolo e le responsabilità in modo incrementale.
  1. Incoraggiare atti di leadership a tutti i livelli : ogni individuo può agire come leader e fornire idee per migliorare l'efficienza del sistema Kanban complessivo. Non dovresti pensare che questa sia un'attività a livello di gestione e anche il membro più giovane del team può agire da leader.

Le sei pratiche di base Kanban

Di seguito sono riportate le Sei principali pratiche di Kanban:

  1. Visualizza il flusso di lavoro : questo principio suggerisce di avere una lavagna Kanban (fisica o digitale) per visualizzare il flusso di lavoro. Ogni individuo di una squadra deve vedere la sua carta e le carte degli altri membri della squadra. Puoi spostare le tue carte in colonne diverse come nell'immagine sopra. Offre molta trasparenza all'interno del team e semplifica anche la risoluzione dei blocchi
  1. Limita il lavoro in corso : Kanban è un sistema basato su pull e migliora l'efficienza di un team per limitare il lavoro in corso e disporre di attività che possono essere completate nel periodo di tempo stabilito dal team. Questo limite WIP si applica dall'inizio alla fine del flusso di lavoro. È possibile applicare il limite in cima alla colonna utilizzando un numero intero positivo.
  1. Concentrarsi sul flusso : questo principio si concentra sul flusso e su eventuali interruzioni. Se ci sono interruzioni o blocchi, devono essere risolti in modo permanente.
  1. Politiche esplicite : le politiche possono essere stabilite in un team per ridurre la rielaborazione e concentrarsi sulle aree che richiedono attenzione o dove è più efficace.
  1. Feedback loop : i feedback loop sono molto essenziali in Kanban. Non è solo all'interno della squadra, ma tra più squadre, allenatori, ecc. Questo aiuta a migliorare la salute generale del sistema Kanban.
  1. Miglioramento continuo : questo è il principio fondamentale del sistema Kanban. Afferma che puoi sempre migliorare il processo e ciò si tradurrà in una migliore efficienza.

Sistema basato su pull

Kanban è un metodo basato su pull in cui le attività vengono estratte piuttosto che spinte. Non appena hai completato la tua carta attuale, puoi estrarne una nuova dalla colonna precedente del tabellone Kanban.

Con il limite WIP, Kanban aiuta a migliorare il tempo di consegna e il tempo di ciclo. Dovrebbe esserci il minor spazio possibile tra questi due tempi. Ad esempio, abbiamo 5 sviluppatori e solo 1 tester; cosa succederà in questo caso? Ci sarebbero sempre molte schede che richiedono test e rimarranno inattive e in attesa.

Per superare i problemi sopra menzionati e migliorare l'efficienza, Kanban segue l'approccio pull-based con limiti WIP, dove ci sarebbe un numero limitato di carte da estrarre.

Quindi, un tester estrarrà un'attività dalla fase "pronto per il test" quando avrà terminato il suo compito corrente. Con il limite WIP nelle colonne Kanban (fasi di sviluppo), non avrai molte carte non presidiate nel flusso di lavoro Kanban.

Il sistema basato sul pull aiuta anche a trovare la velocità corretta per la squadra. Con la giusta velocità in atto, la squadra si esibirà meglio.

Termine d'esecuzione e tempo di ciclo

Nel metodo Kanban, il tempo di consegna e il tempo di ciclo sono ampiamente utilizzati, c'è una differenza tra i due ed è importante capirlo per evitare confusione.

Tempi di consegna Tempo di ciclo
Il lead time è misurato come il tempo che intercorre tra l'arrivo dell'attività nel flusso di lavoro e la sua uscita dal flusso di lavoro, il che significa che è stata rilasciata. Il tempo di ciclo è misurato come il tempo che intercorre tra l'arrivo dell'attività nello stato "in corso" e l'arrivo dell'attività nello stato "pronto per il rilascio".

Qui è anche importante capire di non includere il tempo necessario tra il pronto per il rilascio e il rilascio effettivo.

Tempo di ciclo = lavoro in corso / produttività

Nello scenario ideale, il divario tra lead time e tempo di ciclo dovrebbe essere minimo e Kanban utilizza un diagramma di flusso cumulativo (CFD) per misurare i dati storici di lead e tempo di ciclo.

Diagramma di flusso cumulativo (CFD)

CFD è un grafico disponibile in tutti i principali strumenti di gestione del flusso di lavoro come JIRA. Questo grafico misura la quantità totale di schede / attività di lavoro inserite nel flusso di lavoro e accumulate schede / attività completate nel tempo.

Ti aiuta ad avere una stima del tempo di consegna medio e del tempo di ciclo per il tempo prespecificato.

Il diagramma CFD ti fornirà indicatori o aree problematiche da risolvere. Ti fornirà un'immagine chiara e basata su questo diagramma. Puoi correggere il tempo di esecuzione e il tempo di ciclo del tuo team.

Diagramma di flusso cumulativo Kanban

  1. Tempo di consegna : è il tempo che intercorre tra l'arrivo di una nuova carta nel flusso di lavoro e la sua uscita definitiva dal flusso di lavoro.
  2. Cycle Time : è il tempo che intercorre tra l'arrivo della carta nello stato di lavoro e quando la carta è pronta per il rilascio.
  3. WIP : il lavoro in corso (WIP) limita la quantità massima di elementi di lavoro nelle diverse fasi del flusso di lavoro.
  4. Throughput : è la performance effettiva e indica il numero effettivo di carte consegnate in un determinato periodo di tempo.
  5. Throughput = WIP / Tempo di ciclo

Limitazione del WIP (work-in-progress)

Nella metodologia di sviluppo Kanban, WIP limita il numero di attività / schede su cui può lavorare un membro del team o intero contemporaneamente.

I limiti WIP assicurano che il team stabilisca il proprio lavoro e aumenti la natura predittiva, essenziale nel sistema pull-based. Di solito, la decisione del limite WIP viene presa dal team stesso.

Motivo per impostare i limiti WIP:

Ecco i motivi per impostare i limiti WIP:

  • Sposta l'attenzione sul portare a termine le cose mentre un individuo si concentra su un singolo compito alla volta.
  • Aiuta i team a comprendere le proprie capacità.
  • Migliora il lead di produttività e il tempo di ciclo.
  • Aiuta a evitare di accumulare attività (in modalità di attesa).
  • Aiuta nel movimento del flusso di lavoro e le attività continuano a muoversi.
  • Aiuta anche a risolvere i bloccanti poiché un individuo non passa da un'attività all'altra.

Scrum vs. Kanban

Ecco le importanti differenze tra Scrum vs. Kanban

Mischia Kanban
Scrum pone l'accento sulla pianificazione . Inizia con la pianificazione dello sprint e finisce con la retrospettiva dello sprint.Ci sono molti incontri tenuti che aiutano a garantire che il team sia allineato con i passaggi successivi, le priorità e gli apprendimenti dagli sprint precedenti. Kanban è disponibile per apportare modifiche in movimento. Significa che c'è meno rigidità e le cose possono cambiare frequentemente .
Raccomanda la raccolta delle misurazioni del tempo effettuate durante gli sprint Kanban consiglia grafici per avere una panoramica dei progressi del team nel tempo.
Scrum non richiede più un impegno da parte dei team. Invece, si tratta degli obiettivi e delle previsioni dello sprint. Kanban si basa sul time-boxing e sulle previsioni .
Sottolinea la pianificazione e quindi la stima ha un ruolo molto importante in Scrum Kanban non ha requisiti obbligatori per la stima.
Ogni individuo ha il proprio ruolo e le proprie responsabilità. Nessun ruolo stabilito quindi flessibilità in termini di responsabilità individuali.
Le iterazioni / Sprint hanno una durata fissa. Questa durata varia da 2 settimane a 1 mese. Kanban non si basa sulla durata . Questa cosa viene misurata per quanto riguarda i tempi di ciclo.
I team sono tenuti a impegnare una quantità specifica di lavoro. Impegno non necessario è facoltativo per i team.
In questo metodo, i team interfunzionali sono importanti in quanto possono affrontare qualsiasi interruzione che potrebbe causare un collo di bottiglia nello sviluppo del software. Avere un team specializzato è importante.
Non è possibile aggiungere elementi alle iterazioni in corso. È possibile aggiungere facilmente nuovi elementi se è disponibile la capacità aggiuntiva.
Uno sprint backlog è di proprietà di un solo team . Più team possono condividere la lavagna Kanban.
I risultati finali sono determinati dagli sprint , che devono essere completati e pronti per la revisione. Prodotti e processi vengono forniti continuamente in base alle necessità. Quindi il test e il processo di revisione continuano simultaneamente.
Il metodo di sviluppo del software Scrum si concentra sul backlog . Il metodo Kanban si concentra interamente sul dashboard del processo .
Ogni membro del team ha un ruolo specifico nello Scrum master, decide le tempistiche, il proprietario del prodotto definisce gli obiettivi e gli obiettivi ei membri del team conducono il lavoro di sviluppo. Non ci sono ruoli predefiniti per una squadra. Tuttavia, potrebbe esserci ancora un Project Manager; il team è incoraggiato a collaborare e lavora insieme.
Ideale per progetti con priorità mutevoli . Ideale per team con priorità stabili che difficilmente cambieranno nel tempo.
Misura la produzione utilizzando la velocità attraverso gli sprint. Misura la produzione utilizzando il tempo di ciclo o il tempo esatto necessario per completare un intero pezzo di un progetto.
Scrum richiede un passaggio completo dal modello tradizionale al modello Agile Scrum che verrebbe implementato nel progetto. Kanban non consente cambiamenti drastici nel progetto.
È un metodo ideale per progetti con priorità molto diverse . Ideale per team con priorità stabili .
In Scrum, l'intero team si concentra sulla collaborazione e sul completamento dell'attività per fornire un lavoro di sviluppo di qualità. I team lavorano per raggiungere gli obiettivi e ridurre i tempi per completare l'intero processo. Pertanto, la riduzione del ciclo temporale è il principale indicatore di successo qui.
Enfasi su Scrum sui suoi programmi ; non è possibile aggiungere nuovi elementi alle iterazioni in corso. Kanban è più iterativo per natura in quanto non ha tempi specifici . In questo modo, è possibile aggiungere continuamente nuovi elementi ogni volta che è disponibile capacità aggiuntiva.
Il lavoro totale viene svolto in batch / Sprint . L'intero progetto viene eseguito sulla movimentazione di flussi di articoli di lavoro a thread singolo .
Scrum master funge da risolutore di problemi. Kanban incoraggia ogni membro del team a essere un leader e a condividere la responsabilità tra tutti loro.
Scrum prescrive iterazioni time-boxed . Kanban si concentra sulla pianificazione di una durata diversa per l'iterazione individuale.
Scrum aiuta le aziende a risparmiare tempo e denaro . Il metodo Kanban si concentra sul miglioramento continuo , sulla produttività e sull'efficienza.
Ottenere una comunicazione stabile e coerente delle prestazioni a tutti i livelli. I membri del team hanno maggiori probabilità di raggiungere i loro obiettivi molto più facilmente a causa della natura visiva delle bacheche Kanban.
I progetti vengono codificati e testati durante lo sprint review I membri del team hanno maggiori probabilità di raggiungere i loro obiettivi molto più facilmente a causa della natura visiva delle bacheche Kanban.
È più facile adattarsi ai cambiamenti costanti a causa degli sprint brevi e dei feedback regolari. È progettato per un output regolare e costante , importanti cambiamenti nella domanda dei clienti possono far fallire Kanban.
Il costo totale del progetto è minimo, il che può portare a risultati più rapidi ed economici . Se un'attività non viene stimata correttamente, il costo totale del progetto non sarà mai accurato . In questi casi, l'attività può essere suddivisa su più sprint.
Questa metodologia richiede solo membri del team esperti . Quindi, se il team è composto da persone che non sono un esperto, il progetto non può essere completato in tempo. Nessun periodo di tempo specifico viene assegnato a ciascuna fase, quindi i membri del team non hanno mai l'idea di quanto tempo possono impiegare in ogni fase.
In questo metodo Agile Scrum, è più facile fornire un prodotto di qualità a un orario programmato. È progettato per un output regolare e costante, importanti cambiamenti nella domanda dei clienti possono far cadere Kanban.
Il piano del progetto non disturberà mai anche se un membro del team lascia il team. Se qualcuno dei membri del team esce durante lo sviluppo, può danneggiare lo sviluppo del progetto .
Le riunioni quotidiane a volte frustrano i membri del team. La scheda Kanban obsoleta può portare a problemi nel processo di sviluppo.
I grandi progetti possono essere facilmente suddivisi in sprint facilmente gestibili.

Sommario:

  • Definizione Kanban: Kanban è definito come una metodologia di sviluppo agile per sviluppare software, automobili, merci, medicinali, scarpe o qualsiasi altro lavoro di produzione.
  • Kanban utilizza la lavagna Kanban per visualizzare il lavoro. Utilizza le colonne come fasi (cose da fare, sviluppo, test, ecc.) E le schede come oggetto di lavoro.
  • La metodologia Kanban supporta la scheda fisica e digitale per la visualizzazione.
  • Kanban è un sistema basato su pull e le carte vengono estratte dalla fase precedente a quella corrente dai membri del team.
  • Il metodo Kanban utilizza il diagramma CFD per comprendere il tempo di consegna e il tempo di ciclo del team. Questo grafico aiuta i team a colmare il divario tra questi due tempi e a migliorare l'efficienza.
  • Metodologia di sviluppo Kanban, WIP limita il numero di attività / schede su cui può lavorare un membro del team o intero contemporaneamente.
  • I limiti di WIP si concentrano sul portare a termine le cose mentre un individuo si concentra su un singolo compito alla volta.