Wat is Kanban?
Kanban is een zeer populair framework voor ontwikkeling in de agile softwareontwikkelingsmethodologie. Het biedt een transparante manier om de taken en werkcapaciteit van een team te visualiseren. Het maakt voornamelijk gebruik van fysieke en digitale borden om de teamleden in staat te stellen de huidige staat van het project waaraan ze werken te visualiseren.
Kanban is ontstaan in Toyota in de jaren veertig. De betekenis van Kanban in het Japans is "reclameborden". Het Kanban-bord heeft kolommen en verhaalkaarten. De kolommen zijn niets, maar workflowstatussen en kaarten zijn niets anders dan een demonstratie van de feitelijke taak die een teamlid uitvoert.
In deze Kanban-tutorial leer je:
- Wat is Kanban?
- Wanneer kanban gebruiken?
- Kanban-kaarten
- Kanban-bord
- Kanban-workflow
- De vier principes van Kanban
- De zes Kanban-kernpraktijken
- Pull-gebaseerd systeem
- Doorlooptijd en cyclustijd
- Cumulatief stroomdiagram (CFD)
- WIP beperken (onderhanden werk)
- Scrum Vs. Kanban
Wanneer kanban gebruiken?
Hier zijn de redenen om de Kanban-ontwikkelingsmethode te gebruiken:
- Kanban kan in elk domein worden gebruikt en het kan zeer effectief worden gebruikt bij softwareontwikkeling. Kanban-projectmanagement helpt bij het verbeteren van de efficiëntie van het team.
- Het is een pull-gebaseerd systeem. Taken worden uitgevoerd zodra een persoon vrij is.
- Kanban moet worden gebruikt wanneer u uw werk op elk moment wilt vrijgeven. Het vereist git branching, maar het is goed te doen.
- Kanban moet worden gebruikt als u de prioriteiten direct wilt wijzigen. Daarvoor hoeft u dit verhaal alleen maar boven aan de wachtrij te plaatsen.
- Het moet worden gebruikt wanneer u uw werk wilt visualiseren en u de voortgang van uw taken visueel wilt zien.
Kanban-kaarten
Het Kanban-systeem beveelt visualisatie van werk aan. Het suggereert het gebruik van het fysieke en het digitale bord.
De Kanban-kaarten zijn essentiële stukken op het Kanban-bord, omdat ze het werk vertegenwoordigen waar het team aan werkt. Deze kaarten hebben
- Prioriteit
- Eigenaar
- Type
- Opleveringsdatum
Een kolom op het kanbanbord vertegenwoordigt de werkfase en u kunt een WIP-limiet (Work in Progress) op de kolom plaatsen. De OHW-limiet betekent het maximale aantal kaarten dat op die kolom kan blijven staan .
Omdat Kanban-projectmanagement een pull-gebaseerd systeem gebruikt, kan een ontwikkelaar, als en wanneer hij vrij is, een kaart van de to-do-kolom naar de dev-kolom trekken.
Kanban-bord
Kanban Board is een flexibele projectmanagementtool die helpt bij het implementeren van Kanaban om projecten voor persoonlijke en zakelijke doeleinden te beheren. Het is een fysiek of digitaal (JIRA) bord dat is ontworpen om teams te helpen hun werk in verschillende stadia en processen te visualiseren. Het helpt ook om de werkfasen met kolommen weer te geven met behulp van kaarten.
Het heeft kolommen die de status van het werk weergeven, zoals
- Te doen,
- Dev
- Testen
- Gedaan.
Elk van deze kolommen kan kaarten hebben <= de OHW-limiet. De kaarten stellen het eigenlijke werk voor.
U kunt positieve getallen gebruiken om onderhanden werk te beperken, en dit limietnummer kan bovenaan de kolommen op zowel fysieke als digitale kanbanborden worden geplaatst. Elke persoon van het team kan de status van zijn kaart beheren en het hele team kan de workflow visualiseren. Vervolgens zullen we in deze Kanban-zelfstudie leren over Kanban-workflow.
Kanban-workflow
Kanban Workflow is een reeks stappen die teams helpt om expliciet beleid en principes in Kanaban te definiëren. Het vertegenwoordigt de regels en procedures terwijl het werk gaande is in verschillende stadia van ontwikkelings- en leveringscycli. Kanban-workflow bestaat uit stapsgewijze processen tussen het starten en de levering van een bepaalde taak.
Het basisprincipe dat Kanban volgt is: "stop met starten, begin met afronden". Met behulp van OHW-limieten wordt er meer werk verzet. Er zijn aanpasbare Kanban-workflows en statussen beschikbaar in elke moderne tool zoals JIRA.
Hieronder staan de basisstatussen die veel softwareteams volgen voor hun workflowbeheer.
Staten | Begrip van taken |
Te doen | Taken komen hier voor het eerst in deze staat aan. |
Klaar voor analyse | Analyseer de taak en voeg vereisten volledig toe. |
Klaar voor ontwikkeling | Analyse voltooid en ontwikkeling kan beginnen. |
In de ontwikkeling | Er worden taken ontwikkeld. |
Klaar om te testen | Ontwikkeling voltooid en nu kan het testen beginnen. |
Bij het testen | Taken worden getest. |
Klaar voor release | Testen voltooid; release kan gebeuren. |
Vrijgegeven / klaar | Vrijgelaten. |
De vier principes van Kanban
Hieronder staan de vier belangrijkste kernprincipes van Kanban:
- Begin met wat je nu hebt : het Kanban-systeem stelt voor om incrementeel te werken en te beginnen met wat je momenteel hebt. Aangezien het een van de praktijken is om continu te verbeteren, moet u het systeem geleidelijk verbeteren.
- Akkoord gaan om incrementele, evolutionaire verandering na te streven: Kanban beveelt een incrementele verandering in het proces aan, en je moet niet in één keer een grote verandering in het proces aanbrengen.
- Respecteer het huidige proces, de rollen en verantwoordelijkheden: begin opnieuw met wat je nu hebt en verander het proces, de rol en de verantwoordelijkheden op een incrementele manier.
- Moedig leiderschap op alle niveaus aan : elk individu kan optreden als leider en ideeën aandragen om de efficiëntie van het algehele Kanban-systeem te verbeteren. Je moet niet denken dat dit een activiteit op managementniveau is, en zelfs het jongste lid van het team kan als leider optreden.
De zes Kanban-kernpraktijken
Hieronder volgen de belangrijkste zes kernpraktijken van Kanban:
- Visualiseer de workflow : dit principe stelt voor om een Kanban-bord (fysiek of digitaal) te hebben om de workflow te visualiseren. Elk individu van een team moet zijn kaart en kaarten van andere teamleden zien. U kunt uw kaarten in verschillende kolommen verplaatsen volgens de bovenstaande afbeelding. Het zorgt voor veel transparantie binnen het team en maakt het ook makkelijker om blokkades op te lossen
- Beperk onderhanden werk : Kanban is een pull-gebaseerd systeem en het verbetert de efficiëntie van een team om onderhanden werk te beperken en taken te hebben die binnen het gegeven tijdsbestek door het team kunnen worden voltooid. Deze OHW-limiet is van toepassing vanaf het begin tot het einde van de workflow. U kunt de limiet bovenop de kolom toepassen met een positief geheel getal.
- Focus op stroming : dit principe is gericht op stroming en op eventuele onderbrekingen. Als er onderbrekingen of blokkades zijn, moeten deze permanent worden hersteld.
- Expliciet beleid : Beleid kan in een team worden opgesteld om het herwerk te verminderen en zich te concentreren op de gebieden die aandacht vereisen of waar het effectiever is.
- Feedback Loop : Feedback loops zijn erg essentieel in Kanban. Het is niet alleen binnen het team, maar ook tussen meerdere teams, coaches, enz. Dit helpt bij het verbeteren van de algehele gezondheid van het Kanban-systeem.
- Voortdurende verbetering : dit is het kernprincipe van het Kanban-systeem. Daarin staat dat je het proces altijd kunt verbeteren, en dat zal resulteren in een betere efficiëntie.
Pull-gebaseerd systeem
Kanban is een pull-gebaseerde methode waarbij taken worden getrokken in plaats van gepusht. Zodra je je huidige kaart hebt voltooid, kun je een nieuwe kaart trekken uit de vorige kolom van het kanbanbord.
Met de OHW-limiet helpt Kanban bij het verbeteren van doorlooptijd en cyclustijd. Er moet een zo klein mogelijke kloof zijn tussen deze twee timings. We hebben bijvoorbeeld 5 ontwikkelaars en slechts 1 tester; wat gebeurt er in dit geval? Er zullen altijd veel kaarten zijn die moeten worden getest, en ze zullen inactief blijven en wachten.
Om de bovengenoemde problemen op te lossen en de efficiëntie te verbeteren, volgt Kanban de pull-gebaseerde benadering met WIP-limieten, waarbij er een beperkt aantal kaarten zou moeten worden getrokken.
Een tester haalt dus een taak uit de fase "klaar om te testen" wanneer hij zijn huidige taak heeft voltooid. Met de OHW-limiet in Kanban-kolommen (ontwikkelingsstadia), heb je niet veel onbeheerde kaarten in de Kanban-workflow.
Het pull-based systeem helpt ook bij het vinden van de juiste snelheid voor het team. Met de juiste snelheid op zijn plaats, zal het team beter presteren.
Doorlooptijd en cyclustijd
In de Kanban-methode worden doorlooptijd en cyclustijd veel gebruikt, er is een verschil tussen de twee en het is belangrijk om dit te begrijpen om verwarring te voorkomen.
Doorlooptijd | Cyclustijd |
Doorlooptijd wordt gemeten als de tijd tussen de aankomst van de taak in uw workflow en het vertrek uit de workflow, wat betekent dat deze is vrijgegeven. | De cyclustijd wordt gemeten als de tijd tussen de aankomst van de taak in de status "in uitvoering" en de aankomst van de taak in "gereed voor vrijgave". |
Hier is het ook belangrijk om te begrijpen dat u de tijd die nodig is tussen gereed voor release en daadwerkelijke release niet meeneemt.
Cyclustijd = werk in uitvoering / doorvoer
In het ideale scenario zou de kloof tussen doorlooptijd en cyclustijd minimaal moeten zijn, en Kanban gebruikt een cumulatief stroomdiagram (CFD) om historische gegevens over de doorlooptijd en cyclustijd te meten.
Cumulatief stroomdiagram (CFD)
CFD is een grafiek die beschikbaar is in alle toonaangevende tools voor workflowbeheer, zoals JIRA. Dit diagram meet het totale aantal werkkaarten / taken dat in de workflow is binnengekomen en het aantal voltooide kaarten / taken in de loop van de tijd.
Het helpt u om een schatting te maken van de gemiddelde doorlooptijd en cyclustijd voor een vooraf gespecificeerde tijd.
CFD-diagram geeft u indicatoren of probleemgebieden om op te lossen. Het geeft je een duidelijk beeld, en op basis van dit diagram. U kunt de doorlooptijd en cyclustijd van uw team corrigeren.
- Doorlooptijd : het is de duur tussen de aankomst van een nieuwe kaart in uw workflow en het laatste vertrek uit de workflow.
- Cyclustijd : het is de duur tussen de aankomst van de kaart in de werkende staat en het moment waarop de kaart klaar is om te worden vrijgegeven.
- OHW : Work in progress (OHW) beperkt het maximale aantal werkitems in de verschillende fasen van de workflow.
- Doorvoer : het is de werkelijke prestatie en geeft het werkelijke aantal kaarten weer dat in een bepaald tijdsbestek is afgeleverd.
Doorvoer = OHW / cyclustijd
WIP beperken (onderhanden werk)
In de Kanban-ontwikkelingsmethodologie beperkt WIP het aantal taken / kaarten waaraan een teamlid of in één keer kan werken.
De WIP-limieten zorgen ervoor dat het team hun werk stabiliseert en het voorspellende karakter vergroot, wat essentieel is in het pull-based systeem. Gewoonlijk wordt de WIP-limietbeslissing genomen door het team zelf.
Reden om de OHW-limieten in te stellen:
Hier volgen enkele redenen om de OHW-limieten in te stellen:
- Het verschuift de focus naar het voor elkaar krijgen van dingen, aangezien een individu zich op één taak tegelijk concentreert.
- Het helpt teams om hun capaciteit te begrijpen.
- Het verbetert de productiviteitslooptijd en cyclustijd.
- Het helpt bij het vermijden van opeenstapeling van taken (in wachtmodus).
- Het helpt bij de beweging van de workflow en taken blijven in beweging.
- Het helpt ook om blokkades op te lossen, aangezien een individu niet schakelt tussen verschillende taken.
Scrum Vs. Kanban
Hier zijn de belangrijke verschillen tussen Scrum Vs. Kanban
Scrum | Kanban |
Scrum legt de nadruk op planning . Het begint met sprintplanning en eindigt met sprint retrospective.Er worden veel vergaderingen gehouden die helpen om ervoor te zorgen dat het team is afgestemd op de volgende stappen, prioriteiten en lessen uit eerdere sprints. | Kanban staat open om onderweg wijzigingen aan te brengen. Het betekent dat er minder starheid is en dat dingen vaak kunnen veranderen . |
Het beveelt het verzamelen van tijdmetingen tijdens sprints aan | Kanban beveelt grafieken aan om een overzicht te krijgen van de voortgang van het team in de loop van de tijd. |
Scrum vraagt niet langer om inzet van teams. In plaats daarvan gaat het om de sprintdoelen en prognoses. | Kanban vertrouwt op time-boxing en voorspellingen . |
Het legt de nadruk op planning, en daarom speelt schatting een zeer belangrijke rol in Scrum | Kanban heeft geen verplichte vereisten voor schatting. |
Ieder individu heeft zijn rol en verantwoordelijkheden. | Geen vaste rollen dus flexibiliteit in termen van individuele verantwoordelijkheden. |
De iteraties / Sprints hebben een vaste duur. Deze duur varieert van 2 weken tot 1 maand. | Kanban is niet gebaseerd op duur . Dit ding wordt gemeten met betrekking tot cyclustijden. |
Teams zijn verplicht om een bepaalde hoeveelheid werk te plegen . | Commitment niet nodig, het is optioneel voor teams. |
Bij deze methode zijn cross-functionele teams belangrijk omdat ze kunnen omgaan met elke verstoring die een bottleneck in de softwareontwikkeling kan veroorzaken. | Het hebben van een gespecialiseerd team is belangrijk. |
Het is niet mogelijk om items toe te voegen aan lopende iteraties. | Nieuwe items kunnen eenvoudig worden toegevoegd als de extra capaciteit beschikbaar is. |
Een sprintachterstand is eigendom van slechts één team . | Meerdere teams kunnen een Kanban-bord delen. |
Opleveringen worden bepaald door sprints , waarvoor een reeks werkzaamheden moet zijn voltooid en gereed moet zijn voor beoordeling. | Producten en processen worden continu geleverd op basis van behoefte. Het test- en beoordelingsproces vindt dus gelijktijdig plaats. |
Scrum software-ontwikkelmethode richt zich op de achterstand . | De Kanban-methode is volledig gericht op het procesdashboard . |
Elk teamlid heeft een specifieke rol in de Scrum-master, bepaalt tijdlijnen, stelt doelen en doelstellingen van de producteigenaar vast en teamleden voeren het ontwikkelingswerk uit. | Er zijn geen vooraf gedefinieerde rollen voor een team. Er kan echter nog een projectmanager zijn; het team wordt aangemoedigd om samen te werken en werkt samen. |
Het beste voor projecten met veranderende prioriteiten . | Ideaal voor teams met stabiele prioriteiten die in de loop van de tijd waarschijnlijk niet zullen veranderen. |
Meet de productie met behulp van snelheid door middel van sprints. | Meet de productie aan de hand van cyclustijd of de exacte tijd die nodig is om een volledig stuk van een project te voltooien. |
Scrum vereist een volledige verschuiving van het traditionele model naar het Agile Scrum-model dat in het project zou worden geïmplementeerd. | Kanban staat geen drastische veranderingen in het project toe. |
Het is een ideale methode voor projecten met sterk verschillende prioriteiten . | Het meest geschikt voor teams met stabiele prioriteiten . |
In Scrum richt het hele team zich op samenwerking en het voltooien van de taak om kwaliteitsontwikkelingswerk te leveren. | Teams werken om doelen te bereiken en de tijd te verkorten om het hele proces te voltooien. De verkorting van de tijdcyclus is hier dus de grootste succesindicator. |
Scrum legt de nadruk op zijn schema's ; nieuwe items kunnen niet worden toegevoegd aan lopende iteraties. | Kanban is van nature meer iteratief omdat het geen specifieke tijdsbestekken heeft . Zodat er voortdurend nieuwe items kunnen worden toegevoegd wanneer er extra capaciteit beschikbaar is. |
Het totale werk wordt gedaan in batches / Sprints . | Het hele project wordt uitgevoerd op de verplaatsing van werkitemstromen met één thread . |
Scrum-master fungeert als een probleemoplosser. | Kanban moedigt elk teamlid aan om een leider te zijn en de verantwoordelijkheid onder hen allemaal te delen. |
Scrum schrijft time-boxed iteraties voor . | Kanban richt zich op het plannen van een andere duur voor individuele iteratie. |
Scrum helpt bedrijven tijd en geld te besparen . | Kanban-methode is gericht op continue verbetering , productiviteit en efficiëntie. |
Bereik stabiele en consistente communicatie van prestaties op alle niveaus. | Teamleden zullen hun doelen veel gemakkelijker bereiken vanwege de visuele aard van Kanban-borden. |
Project worden gecodeerd en getest tijdens de sprint beoordeling | Teamleden zullen hun doelen veel gemakkelijker bereiken vanwege de visuele aard van Kanban-borden. |
Door de korte sprints en regelmatige feedback is het makkelijker om je aan te passen aan de constante veranderingen . | Het is ontworpen voor een regelmatige, gestage output , grote veranderingen in de vraag van de klant kunnen Kanban doen mislukken. |
De totale kosten van het project zijn minimaal, wat kan leiden tot een sneller en goedkoper resultaat . | Als een taak niet correct wordt ingeschat, zullen de totale projectkosten nooit nauwkeurig zijn . In dat geval kan de taak over meerdere sprints worden verdeeld. |
Deze methodologie vereist alleen ervaren teamleden . Dus als het team bestaat uit mensen die geen expert zijn, kan het project niet op tijd worden afgerond. | Er zijn geen specifieke tijdschema 's toegewezen aan elke fase, dus teamleden krijgen nooit het idee hoeveel tijd ze in elke fase kunnen nemen. |
Bij deze Agile Scrum-methode is het gemakkelijker om op een gepland tijdstip een kwaliteitsproduct af te leveren . | Het is ontworpen voor een regelmatige, gestage output, grote veranderingen in de vraag van de klant kunnen Kanban doen dalen. |
Het projectplan zal nooit verstoren, zelfs niet als een teamlid het team verlaat. | Als een van de teamleden tijdens de ontwikkeling vertrekt, kan dit de projectontwikkeling schaden . |
Dagelijkse vergaderingen frustreren teamleden soms . | Verouderde Kanban-borden kunnen leiden tot problemen in het ontwikkelingsproces. |
Grote projecten zijn eenvoudig op te splitsen in overzichtelijke sprints. |
Overzicht:
- Kanban-definitie: Kanban wordt gedefinieerd als een flexibele ontwikkelingsmethodologie om software, auto's, goederen, medicijnen, schoenen of ander productiewerk te ontwikkelen.
- Kanban gebruikt het Kanban-bord om het werk te visualiseren. Het gebruikt kolommen als fasen (to-do, dev, testing, etc.) en kaarten als een werkitem.
- Kanban-methodologie ondersteunt het fysieke en digitale bord voor visualisatie.
- Kanban is een pull-gebaseerd systeem en kaarten worden door teamleden van de vorige fase naar de huidige fase getrokken.
- De Kanban-methode gebruikt het CFD-diagram om de doorlooptijd en cyclustijd van het team te begrijpen. Deze grafiek helpt de teams om de kloof tussen deze twee timings te dichten en de efficiëntie te verbeteren.
- Kanban-ontwikkelingsmethodologie, WIP beperkt het aantal taken / kaarten waaraan een teamlid of volledig tegelijk kan werken.
- WIP-limieten verleggen de focus naar het gedaan krijgen van dingen, aangezien een individu zich op één taak tegelijk concentreert.