Kanban-Modell in der Softwareentwicklung
Was ist Kanban?
Kanban ist ein sehr beliebtes Framework fรผr die Entwicklung in der agilen Softwareentwicklungsmethodik. Es bietet eine transparente Mรถglichkeit, die Aufgaben und Arbeitskapazitรคt eines Teams zu visualisieren. Es verwendet hauptsรคchlich physische und digitale Tafeln, um den Teammitgliedern die Visualisierung des aktuellen Stands des Projekts, an dem sie arbeiten, zu ermรถglichen.
Kanban entstand in den 1940er Jahren bei Toyota. Kanban bedeutet auf Japanisch โWerbetafelโ. Das Kanban-Board hat Spalten und Story-Karten. Die Spalten sind nichts anderes als Workflow-Zustรคnde und die Karten sind nichts anderes als eine Demonstration der tatsรคchlichen Aufgabe, die ein Teammitglied ausfรผhrt.
Wann ist Kanban sinnvoll?
Hier sind die Grรผnde fรผr die Verwendung der Kanban-Entwicklungsmethode:
- Kanban kann in jedem Bereich eingesetzt werden und kann sehr effektiv in der Softwareentwicklung eingesetzt werden. Kanban-Projektmanagement trรคgt dazu bei, die Effizienz des Teams zu verbessern.
- Es handelt sich um ein Pull-basiertes System. Aufgaben werden gezogen, sobald eine Person frei ist.
- Kanban sollte verwendet werden, wenn Sie Ihre Arbeit jederzeit freigeben mรถchten. Es erfordert eine Git-Verzweigung, ist aber machbar.
- Kanban sollte verwendet werden, wenn Sie die Prioritรคten spontan รคndern mรถchten. Dazu mรผssen Sie diese Geschichte lediglich ganz oben auf die To-Do-Warteschlange setzen.
- Es sollte verwendet werden, wenn Sie Ihre Arbeit visualisieren und den Fortschritt Ihrer Aufgaben visuell sehen mรถchten.
Kanban-Karten
Das Kanban-System empfiehlt die Visualisierung der Arbeit. Es schlรคgt die Verwendung der physischen und der digitalen Tafel vor.

Die Kanban-Karten sind wesentliche Bestandteile des Kanban-Boards, da sie die Arbeit darstellen, an der das Team arbeitet. Diese Karten werden haben
- Prioritรคt
- Eigentรผmer
- Typ
- Geburtstermin
Eine Spalte im Kanban-Board stellt die Arbeitsphase dar, und Sie kรถnnen fรผr die Spalte ein WIP-Limit (Work in Progress) festlegen. Das WIP-Limit bezeichnet die maximale Anzahl an Karten, die in dieser Spalte verbleiben kรถnnen.
Da das Kanban-Projektmanagement ein Pull-basiertes System verwendet, kann ein Entwickler, sobald er frei ist, eine Karte aus der To-Do-Spalte in die Entwicklungsspalte ziehen.
Kanbantafel
Kanbantafel ist ein agiles Projektmanagement-Tool, das bei der Implementierung von Kanban hilft, um Projekte fรผr persรถnliche und geschรคftliche Zwecke zu verwalten. Es handelt sich um ein physisches oder digitales (JIRA) Board, das Teams dabei helfen soll, ihre Arbeit in verschiedenen Phasen und Prozessen zu visualisieren. Es hilft auch, die Arbeitsschritte mit Spalten mithilfe von Karten darzustellen.
Es verfรผgt รผber Spalten, die den Status der Arbeit darstellen
- Machen,
- Entwickler
- Tests
- Fertig.
Jede dieser Spalten kann Karten enthalten, die kleiner als das WIP-Limit sind. Die Karten reprรคsentieren die eigentliche Arbeit.
Sie kรถnnen positive Zahlen verwenden, um die laufende Arbeit zu begrenzen. Diese Begrenzungszahl kann auf physischen und digitalen Kanban-Boards oben in den Spalten platziert werden. Jeder Einzelne im Team kann den Status seiner Karte verwalten und das gesamte Team kann den Workflow visualisieren. Als Nรคchstes lernen wir in diesem Kanban-Tutorial etwas รผber den Kanban-Workflow.
Kanban-Workflow
Kanban-Workflow ist eine Reihe von Schritten, die Teams dabei helfen, explizite Richtlinien und Prinzipien in Kanban zu definieren. Es stellt die Regeln und Verfahren dar, wรคhrend die Arbeit in verschiedenen Phasen der Entwicklungs- und Lieferzyklen lรคuft. Der Kanban-Workflow besteht aus schrittweisen Prozessen zwischen dem Beginn und der Lieferung einer bestimmten Aufgabe.
Das Grundprinzip von Kanban ist: โHรถr auf zu beginnen, fang an zu beendenโ. Mit Hilfe von WIP-Limits kann mehr Arbeit erledigt werden. In jedem modernen Tool wie JIRA sind anpassbare Kanban-Workflows und -Status verfรผgbar.
Nachfolgend sind die grundlegenden Zustรคnde aufgefรผhrt, die viele Softwareteams fรผr ihr Workflow-Management befolgen.
| Staaten | Verstรคndnis fรผr Aufgaben |
|---|---|
| Tun | In diesem Zustand kommen hier zum ersten Mal Aufgaben an. |
| Bereit zur Analyse | Analysieren Sie die Aufgabe und fรผgen Sie Anforderungen vollstรคndig hinzu. |
| Bereit fรผr die Entwicklung | Die Analyse ist abgeschlossen und die Entwicklung kann beginnen. |
| In der Entwicklung | Aufgaben werden entwickelt. |
| Bereit zum Testen | Die Entwicklung ist abgeschlossen und jetzt kann mit dem Testen begonnen werden. |
| Im Test | Aufgaben werden getestet. |
| Bereit zur Freigabe | Tests abgeschlossen; Eine Freilassung kann erfolgen. |
| Freigegeben/Fertig | Verรถffentlicht. |
Die vier Prinzipien von Kanban
Nachfolgend sind die vier wichtigsten Grundprinzipien von Kanban aufgefรผhrt:
- Beginnen Sie mit dem, was Sie jetzt haben: Das Kanban-System schlรคgt vor, schrittweise zu arbeiten und mit dem zu beginnen, was Sie derzeit haben. Da es zu seinen Praktiken gehรถrt, sich kontinuierlich zu verbessern, mรผssen Sie das System schrittweise verbessern.
- Stimmen Sie der Verfolgung schrittweiser, evolutionรคrer Verรคnderungen zu: Kanban empfiehlt eine schrittweise รnderung im Prozess, und Sie dรผrfen keine groรe รnderung im Prozess auf einmal vornehmen.
- Respektieren Sie den aktuellen Prozess, die Rollen und Verantwortlichkeiten: Beginnen Sie noch einmal mit dem, was Sie jetzt haben, und รคndern Sie den Prozess, die Rolle und die Verantwortlichkeiten schrittweise.
- Ermutigen Sie Fรผhrungspersรถnlichkeiten auf allen Ebenen: Jeder Einzelne kann als Fรผhrungskraft agieren und Ideen einbringen, um die Effizienz des gesamten Kanban-Systems zu verbessern. Sie sollten nicht denken, dass es sich hierbei um eine Aktivitรคt auf Managementebene handelt und dass sogar das jรผngste Mitglied des Teams als Fรผhrungskraft fungieren kann.
Die sechs Kanban-Kernpraktiken
Im Folgenden sind die sechs wichtigsten Kernpraktiken von Kanban aufgefรผhrt:
- Visualisieren Sie den Arbeitsablauf: Dieses Prinzip schlรคgt vor, ein Kanban-Board (physisch oder digital) zur Visualisierung des Arbeitsablaufs zu haben. Jeder Einzelne eines Teams muss seine Karte und die Karten anderer Teammitglieder sehen. Sie kรถnnen Ihre Karten wie im obigen Bild in verschiedenen Spalten verschieben. Es sorgt fรผr viel Transparenz im Team und erleichtert zudem die Lรถsung von Blockaden
- Laufende Arbeiten begrenzen: Kanban ist ein Pull-basiertes System und verbessert die Effizienz eines Teams, indem es die laufenden Arbeiten begrenzt und Aufgaben bereitstellt, die vom Team innerhalb des vorgegebenen Zeitrahmens erledigt werden kรถnnen. Dieses WIP-Limit gilt vom Anfang bis zum Ende des Workflows. Sie kรถnnen den Grenzwert mithilfe einer positiven Ganzzahl oben auf die Spalte anwenden.
- Konzentrieren Sie sich auf den Fluss: Dieses Prinzip konzentriert sich auf den Fluss und auf etwaige Unterbrechungen. Kommt es zu Unterbrechungen oder Blockaden, mรผssen diese dauerhaft behoben werden.
- Explizite Richtlinien: Im Team kรถnnen Richtlinien festgelegt werden, um die Nacharbeit zu reduzieren und sich auf die Bereiche zu konzentrieren, die Aufmerksamkeit erfordern oder in denen es effektiver ist.
- Feedbackschleife:: Feedbackschleifen sind bei Kanban sehr wichtig. Dies geschieht nicht nur innerhalb des Teams, sondern auch zwischen mehreren Teams, Trainern usw. Dies trรคgt dazu bei, den allgemeinen Zustand des Kanban-Systems zu verbessern.
- Schnelle Implementierung : Dies ist das Kernprinzip des Kanban-Systems. Darin heiรt es, dass Sie den Prozess jederzeit verbessern kรถnnen, was zu einer hรถheren Effizienz fรผhrt.
Pull-basiertes System
Kanban ist eine Pull-basierte Methode, bei der Aufgaben gezogen und nicht gepusht werden. Sobald Sie Ihre aktuelle Karte vervollstรคndigt haben, kรถnnen Sie eine neue Karte aus der vorherigen Spalte des Kanban-Boards ziehen.
Mit dem WIP-Limit hilft Kanban bei der Verbesserung von Vorlaufzeit und Zykluszeit. Zwischen diesen beiden Zeitvorgaben sollte die kleinstmรถgliche Lรผcke bestehen. Nehmen wir beispielsweise an, wir haben 5 Entwickler und nur 1 Tester. Was wรผrde in diesem Fall passieren? Es gรคbe immer viele Karten, die getestet werden mรผssten, und sie wรผrden ungenutzt herumliegen und warten.
Um die oben genannten Probleme zu รผberwinden und die Effizienz zu verbessern, folgt Kanban dem Pull-basierten Ansatz mit WIP-Limits, bei dem eine begrenzte Anzahl von Karten gezogen werden muss.
Ein Tester holt also eine Aufgabe aus der Phase โTestbereitโ, wenn er seine aktuelle Aufgabe abgeschlossen hat. Mit dem WIP-Limit in Kanban-Spalten (Entwicklungsstadien) werden Sie im Kanban-Workflow nicht viele unbeaufsichtigte Karten haben.
Das Pull-basierte System hilft auch dabei, die richtige Geschwindigkeit fรผr das Team zu finden. Mit der richtigen Geschwindigkeit wird das Team bessere Leistungen erbringen.
Vorlaufzeit und Zykluszeit
In der Kanban-Methode werden hรคufig Durchlaufzeit und Zykluszeit verwendet. Es gibt einen Unterschied zwischen beiden, und es ist wichtig, dies zu verstehen, um Verwirrung zu vermeiden.
| Vorlaufzeit | Zykluszeit |
|---|---|
| Die Durchlaufzeit wird als die Zeit zwischen dem Eintreffen der Aufgabe in Ihrem Workflow und ihrem Verlassen des Workflows, d. h. ihrer Freigabe, gemessen. | Die Zykluszeit wird als die Zeit zwischen dem Eintreffen der Aufgabe im Status โIn Bearbeitungโ und dem Eintreffen der Aufgabe im Status โBereit zur Freigabeโ gemessen. |
Hier ist es auch wichtig zu verstehen, dass die Zeit zwischen der Verรถffentlichungsbereitschaft und der tatsรคchlichen Verรถffentlichung nicht berรผcksichtigt werden darf.
Cycle Time = Work in Progress/Throughput
Im Idealfall sollte die Lรผcke zwischen Durchlaufzeit und Zykluszeit minimal sein, und Kanban verwendet ein kumulatives Flussdiagramm (CFD), um historische Daten zur Vorlaufzeit und Zykluszeit zu messen.
Kumulatives Flussdiagramm (CFD)
CFD ist ein Diagramm, das in allen fรผhrenden Lรคndern verfรผgbar ist Workflow-Management-Tools wie JIRA. Dieses Diagramm misst die Gesamtzahl der Arbeitskarten/Aufgaben, die in den Workflow aufgenommen wurden, und die im Laufe der Zeit abgeschlossenen Karten/Aufgaben.
Es hilft Ihnen, eine Schรคtzung der durchschnittlichen Durchlaufzeit und Zykluszeit fรผr eine vorgegebene Zeit zu erhalten.
Das CFD-Diagramm liefert Ihnen Indikatoren oder Problembereiche, die Sie beheben mรผssen. Basierend auf diesem Diagramm erhalten Sie ein klares Bild. Sie kรถnnen die Durchlaufzeit und Zykluszeit Ihres Teams korrigieren.

- Vorlaufzeit: Dies ist die Zeitspanne zwischen dem Eintreffen einer neuen Karte in Ihrem Workflow und ihrem endgรผltigen Verlassen des Workflows.
- Zykluszeit: Es handelt sich um die Zeitspanne zwischen dem Eintreffen der Karte im betriebsbereiten Zustand und dem Zeitpunkt, zu dem die Karte zur Freigabe bereit ist.
- WIP: Work in Progress (WIP) begrenzt die maximale Anzahl von Arbeitselementen in den verschiedenen Phasen des Workflows.
- Durchsatz: Dies ist die tatsรคchliche Leistung und gibt die tatsรคchliche Anzahl der in einem bestimmten Zeitraum gelieferten Karten an.
Durchsatz = WIP/Zykluszeit
Begrenzung des WIP (in Arbeit)
In der Kanban-Entwicklungsmethodik begrenzt WIP die Anzahl der Aufgaben/Karten, an denen ein Teammitglied oder das gesamte Team gleichzeitig arbeiten kann.
Die WIP-Grenzwerte stellen sicher, dass das Team seine Arbeit stabilisiert und die Vorhersagekraft erhรถht, die im Pull-basierten System unerlรคsslich ist. Normalerweise wird die Entscheidung รผber das WIP-Limit vom Team selbst getroffen.
Grund fรผr die Festlegung der WIP-Limits
Hier sind Grรผnde, die WIP-Limits festzulegen:
- Der Fokus wird auf die Erledigung von Aufgaben verlagert, da sich die Person jeweils auf eine einzelne Aufgabe konzentriert.
- Es hilft Teams, ihre Kapazitรคten zu verstehen.
- Es verbessert den Produktivitรคtsvorsprung und die Zykluszeit.
- Es hilft dabei, die Anhรคufung von Aufgaben (im Wartemodus) zu vermeiden.
- Es hilft bei der Bewegung des Arbeitsablaufs und der Aufgaben bleiben in Bewegung.
- Es hilft auch, Blockaden aufzulรถsen, da eine Person nicht zwischen verschiedenen Aufgaben wechseln muss.
Scrum vs. Kanban
Hier sind die wichtigen Unterschiede zwischen Scrum vs. Kanban
| Scrum | Kanban |
|---|---|
| Scrum legt Wert auf Planung. Es beginnt mit der Sprintplanung und endet mit der Sprintretrospektive. Es werden viele Meetings abgehalten, die dazu beitragen, sicherzustellen, dass das Team auf die nรคchsten Schritte, Prioritรคten und Erkenntnisse aus vorherigen Sprints ausgerichtet ist. | Kanban ist offen fรผr รnderungen unterwegs. Es bedeutet weniger Steifigkeit und Dinge kรถnnen sich hรคufig รคndern. |
| Es empfiehlt die Sammlung von Zeitmessungen wรคhrend Sprints gemacht | Kanban empfiehlt Grafiken um einen รberblick รผber den Fortschritt des Teams im Laufe der Zeit zu erhalten. |
| Scrum nicht mehr verlangt von den Teams ein Commitment. Stattdessen geht es um die Sprintziele und Prognosen. | Kanban setzt auf Timeboxing und Prognosen. |
| Es betont die Planung und so weiter Schรคtzung spielt eine sehr wichtige Rolle in Scrum | Kanban hat keine zwingenden Anforderungen zur Schรคtzung. |
| Jede Das Individuum hat seine Rolle und Verantwortlichkeiten. | Nein Stellen Sie Rollen so flexibel ein im Hinblick auf die individuellen Verantwortlichkeiten. |
| Die Iterationen/Sprints haben eine feste Dauer. Diese Dauer variiert zwischen 2 Wochen und 1 Monat. | Kanban ist basiert nicht auf der Dauer. Dieses Ding wird anhand der Zykluszeiten gemessen. |
| Teams sind verpflichtet, sich zu verpflichten einen bestimmten Arbeitsaufwand. | Engagement nicht erforderlich Fรผr Teams ist es optional. |
| Bei dieser Methode funktionsรผbergreifende Teams sind wichtig, da sie alle Stรถrungen bewรคltigen kรถnnen, die zu einem Engpass in der Softwareentwicklung fรผhren kรถnnen. | Eine spezialisiertes Team ist wichtig. |
| Das Hinzufรผgen von Artikeln ist nicht mรถglich zu laufenden Iterationen. | New Elemente kรถnnen einfach hinzugefรผgt werden wenn die zusรคtzliche Kapazitรคt verfรผgbar ist. |
| Ein Sprint Backlog gehรถrt nur einem einzelnes Team. | Mehrere Teamss kรถnnen Kanban-Board teilen. |
| Liefergegenstรคnde sind bestimmt durch Sprints, wobei eine Reihe von Arbeiten abgeschlossen und zur รberprรผfung bereit sein mรผssen. | Produkte und Prozesse sind kontinuierlich geliefert nach Bedarf. Der Test- und รberprรผfungsprozess lรคuft also gleichzeitig ab. |
| Scrum-Softwareentwicklungsmethode konzentriert sich auf den Rรผckstand. | Ganz nach der Kanban-Methode Der Schwerpunkt liegt auf dem Prozess-Dashboard. |
| Jede Das Teammitglied hat eine bestimmte Rolle In Scrum legen der Master Zeitplรคne fest, der Produktbesitzer legt Ziele fest und die Teammitglieder fรผhren die Entwicklungsarbeit durch. | Es gibt keine vordefinierten Rollen fรผr ein Team. Mรถglicherweise gibt es jedoch noch einen Projektmanager. Das Team wird zur Zusammenarbeit ermutigt und arbeitet zusammen. |
| am besten fรผr Projekte mit sich รคndernde Prioritรคten. | Ideal fรผr Teams mit stabile Prioritรคten Das wird sich im Laufe der Zeit wahrscheinlich nicht รคndern. |
| Misst die Produktion Geschwindigkeit nutzen durch Sprints. | Misst die Produktion mit Zykluszeit oder die genaue Zeit, die benรถtigt wird, um einen vollstรคndigen Teil eines Projekts abzuschlieรen. |
| Scrum erfordert a vรถllige Abkehr vom traditionellen Modell zum Agile-Scrum-Modell, das im Projekt implementiert werden soll. | Kanban lรคsst keine drastischen Verรคnderungen zu im Projekt. |
| Es ist eine ideale Methode fรผr Projekte mit sehr unterschiedliche Prioritรคten. | am besten geeignet fรผr Teams mit stabilen Prioritรคten. |
| In Scrum ist die gesamte tEam konzentriert sich auf die Zusammenarbeit und die Erledigung der Aufgabe qualitativ hochwertige Entwicklungsarbeit zu leisten. | Teams arbeiten daran, Ziele zu erreichen und verkรผrzen Sie die Zeit bis zum Abschluss des gesamten Prozesses. Daher ist die Verkรผrzung des Zeitzyklus hier der grรถรte Erfolgsindikator. |
| Scrum Schwerpunkt auf seinen Zeitplรคnen; Neue Elemente kรถnnen nicht zu laufenden Iterationen hinzugefรผgt werden. | Kanban ist von Natur aus iterativer gibt es keine konkreten Zeitrahmen. So kรถnnen immer dann neue Artikel hinzugefรผgt werden, wenn zusรคtzliche Kapazitรคten verfรผgbar sind. |
| Die gesamte Arbeit wird in erledigt Chargen/Sprints. | Das gesamte Projekt basiert auf der Bewegung von Single-Threaded-Arbeitselement flieรt. |
| Scrum Master fungiert als Problemlรถser. | Kanban macht Mut Jedes Teammitglied ist ein Anfรผhrer und die Verantwortung unter allen zu teilen. |
| Scrum schreibt vor Zeitgesteuerte Iterationen. | Kanban konzentriert sich auf eine andere Dauer planen fรผr individuelle Iteration. |
| Scrum hilft Unternehmen dabei Sparen Sie Zeit und Geld. | Kanban-Methode Fokus auf kontinuierliche Verbesserung, Produktivitรคt und Effizienz. |
| Erreichen stabile und konsistente Kommunikation Leistungssteigerung auf allen Ebenen. | Bei Teammitgliedern ist die Wahrscheinlichkeit hรถher ihre Ziele viel einfacher erreichen aufgrund der visuellen Natur von Kanban-Boards. |
| Projekt sind wรคhrend des Sprints codiert und getestet รberprรผfen | Bei Teammitgliedern ist die Wahrscheinlichkeit hรถher ihre Ziele viel einfacher erreichen aufgrund der visuellen Natur von Kanban-Boards. |
| einfacher, sich an die stรคndigen Verรคnderungen anzupassen wegen der kurzen Sprints und des regelmรครigen Feedbacks. | ausgelegt fรผr eine gleichmรครige, gleichmรครige Ausgabe, kรถnnen groรe Verรคnderungen in der Kundennachfrage zum Scheitern von Kanban fรผhren. |
| Die Gesamtkosten des Projekts sind minimal, was dazu fรผhren kann schnelleres und gรผnstigeres Ergebnis. | Wenn eine Aufgabe nicht richtig eingeschรคtzt wird, wird die Die Gesamtkosten des Projekts werden niemals korrekt seinIn solchen Fรคllen kann die Aufgabe auf mehrere Sprints verteilt werden. |
| Diese Methodik erfordert erfahrene Teammitglieder nur. Wenn das Team also aus Leuten besteht, die keine Experten sind, kann das Projekt nicht rechtzeitig abgeschlossen werden. | Nein bestimmte Zeitrahmen werden jeder Phase zugewiesen, sodass die Teammitglieder nie eine Vorstellung davon bekommen, wie viel Zeit sie in jeder Phase verbringen kรถnnen. |
| Bei dieser Agile-Scrum-Methode ist dies der Fall einfacher, ein Qualitรคtsprodukt zu liefern zu einem geplanten Zeitpunkt. | Es ist fรผr a konzipiert regelmรครige, konstante Leistung, Groรe Verรคnderungen in der Kundennachfrage kรถnnen dazu fรผhren, dass Kanban sinkt. |
| Das Projektplan wird niemals stรถren auch wenn ein Teammitglied das Team verlรคsst. | Wenn eines der Teammitglieder wรคhrend der Entwicklung ausscheidet, ist dies mรถglich der Projektentwicklung schaden. |
| Manchmal tรคgliche Treffen vereiteln Teammitglieder. | Veraltetes Kanban-Board kann zu Problemen im Entwicklungsprozess fรผhren. |
| Groรe Projekte kรถnnen problemlos aufgeteilt werden in leicht zu bewรคltigende Sprints. |
Zusammenfassung
- Kanban-Definition: Kanban ist definiert als eine agile Entwicklungsmethodik zur Entwicklung von Software, Automobilen, Waren, Medikamenten, Schuhen oder anderen Fertigungsarbeiten.
- Kanban nutzt das Kanban-Board zur Visualisierung der Arbeit. Es verwendet Spalten als Phasen (Aufgabe, Entwicklung, Tests usw.) und Karten als Arbeitsaufgabe.
- Die Kanban-Methodik unterstรผtzt die physische und digitale Tafel zur Visualisierung.
- Kanban ist ein Pull-basiertes System, bei dem die Teammitglieder Karten von der vorherigen Phase in die aktuelle Phase ziehen.
- Die Kanban-Methode nutzt das CFD-Diagramm, um die Durchlaufzeit und Zykluszeit des Teams zu verstehen. Dieses Diagramm hilft den Teams, die Lรผcke zwischen diesen beiden Zeitpunkten zu schlieรen und die Effizienz zu verbessern.
- Mit der Kanban-Entwicklungsmethodik begrenzt WIP die Anzahl der Aufgaben/Karten, an denen ein Teammitglied oder das gesamte Team gleichzeitig arbeiten kann.
- Durch WIP-Grenzwerte wird der Fokus auf die Erledigung von Aufgaben verlagert, da sich eine Person jeweils auf eine einzelne Aufgabe konzentriert.
