Kanban
So lässt sich die Scrum-Methode in der Softwareentwicklung anwenden
Teste kostenlos die Kanban-Vorlage von Jira
Maximale Effizienz dank eines guten Überblicks über die wichtigsten Aufgaben
Was ist Kanban?
Kanban ist ein beliebtes Framework zum Implementieren von Agile und DevOps in der Softwareentwicklung. Dazu müssen Kapazitäten in Echtzeit kommuniziert werden und alle Aufgaben müssen völlig transparent sein. Die einzelnen Aufgabenelemente werden auf einem Kanban Board visuell dargestellt, sodass sich die Teammitglieder jederzeit einen Überblick über den Status der Arbeitsschritte verschaffen können.
Artikel zu Kanban
Tasks mit Jira Kanban Boards besser erledigen
Mit dem Kanban Board von Jira können Teams die Durchlaufzeit und Effizienz kontinuierlich verbessern.
Kostenlos nutzenOptimierung der Softwareentwicklung mit Kanban-Flow
Kanban-Flow, ein Eckpfeiler der Agile- und DevOps-Methoden, steigert die Effizienz, indem mittels visualisierter Workflows ein nahtloser Aufgabenablauf orchestriert wird. Kanban-Flow entspricht der optimierten Bestandsverwaltung von Supermärkten und stellt sicher, dass Aufgaben Entwicklungsprozesse zum richtigen Zeitpunkt durchlaufen.
Die Aufgaben, die mit Karten dargestellt werden, werden auf Kanban-Boards visualisiert und ermöglichen eine transparente Fortschrittsverfolgung und schnelle Identifizierung von Engpässen. Dadurch, dass nur eine begrenzte Anzahl an laufenden Arbeiten ausgeführt wird, optimieren Teams die Ressourcenzuweisung und sorgen für einen stetigen Workflow. Der Fokus von Kanban auf kontinuierliche Verbesserung wird durch Metriken wie Kontroll-Diagramme und kumulative Flussdiagramme unterstützt, sodass Teams Workflows schrittweise verfeinern können.
In der Softwareentwicklung fördert Kanban-Flow ein dynamisches Aufgabenmanagement, beschleunigt Lieferzyklen und erhöht die Kundenzufriedenheit durch konzentriertes, unterbrechungsfreies Arbeiten. Im Wesentlichen verkörpert Kanban-Flow Effizienz — eine harmonische Mischung aus Transparenz, Anpassungsfähigkeit und kontinuierlicher Verbesserung — und schöpft dadurch das volle Potenzial agiler Methoden aus.
Strukturierung deines Kanban-Flows
Die Einrichtung eines strukturierten Kanban-Flows in deinem Softwareentwicklungsteam ist für die effektive Umsetzung von Kanban unerlässlich. Sie gewährleistet einen reibungslosen Aufgabenablauf und ein optimiertes Workflow-Management. So strukturierst du deinen Kanban-Flow:
Visualisiere den Workflow: Visualisiere zunächst den Workflow deines Teams auf einem Kanban-Board. Ob physisch oder virtuell, das Board sollte von der ersten bis zur letzten Aufgabe jede Phase des Entwicklungsprozesses darstellen.
Standardisiere den Workflow: Definiere und standardisiere die Workflow-Phasen gemäß den Prozessen und Anforderungen deines Teams. Die üblichen Phasen umfassen „Zu erledigen“ „In Bearbeitung“ und „Erledigt“, du kannst sie aber nach Bedarf an deinen individuellen Workflow anpassen.
Identifiziere Blocker und Abhängigkeiten: Stelle sicher, dass dein Kanban-Board die sofortige Identifizierung von Blockern und Abhängigkeiten ermöglicht. Diese Transparenz ermöglicht eine schnelle Lösung und verhindert Unterbrechungen des Workflows.
Lege Grenzen für laufende Arbeiten fest: Implementiere Grenzen für laufende Arbeiten für die einzelnen Workflow-Phasen, um Überlastung zu vermeiden und einen stetigen Workflow aufrechtzuerhalten. Grenzen für laufende Arbeiten helfen dabei, die Ressourcenzuweisung zu optimieren und Multitasking zu reduzieren, wodurch eine höhere Produktivität gefördert wird.
Rege zu Zusammenarbeit an: Fördere eine Kultur der Zusammenarbeit in deinem Team, bei der die Mitglieder gemeinsam Engpässe angehen und zusammenarbeiten, um einen reibungslosen Ablauf des Workflows zu gewährleisten. Dieser kollaborative Ansatz fördert die Effizienz und beschleunigt die Erledigung von Aufgaben.
Nutze Kanban-Karten: Stelle Aufgaben als Kanban-Karten auf dem Board dar, die wichtige Details wie Aufgabenbeschreibung, zugewiesene Person und geschätzte Zeit bis zur Erledigung enthalten. Kanban-Karten ermöglichen die visuelle Nachverfolgung des Aufgabenfortschritts und fördern die Transparenz innerhalb des Teams.
Durch diese Art der Strukturierung deines Kanban-Flows kannst du deine Softwareentwicklungsprozesse optimieren, die Zusammenarbeit im Team verbessern und die Effizienz des Aufgabenmanagements maximieren.
Die Ursprünge von Kanban
Die Kanban-Methode ist bei heutigen Agile- und DevOps-Softwareteams beliebt, existiert jedoch bereits seit über 50 Jahren. Ende der 1940er-Jahre begann Toyota mit der Optimierung seiner Fertigungsprozesse auf Basis eines Modells, das Supermärkte zum Auffüllen von Regalen verwendeten.
Supermärkte haben gerade genug auf Lager, um die Nachfrage der Verbraucher zu befriedigen. Diese Praxis optimiert den Prozessfluss zwischen Supermarkt und Verbrauchern. Da die Lagerbestände mit den Verbrauchergewohnheiten übereinstimmen, gewinnt der Supermarkt durch die Reduzierung übergroßer Bestände erheblich an Effizienz bei der Lagerverwaltung. Unterdessen kann der Supermarkt trotzdem sicherstellen, dass wichtige Produkte stets vorrätig sind.
Als Toyota dieses System in seinen Fertigungshallen einführte, war das Ziel, die enormen Lagerbestände besser am tatsächlichen Materialverbrauch auszurichten. Um Kapazitäten in Echtzeit innerhalb der Fertigungshalle (und an Zulieferer) zu kommunizieren, reichten die Arbeiter Karten, die sogenannten „Kanban“, von Team zu Team weiter.
Wenn die Materialien an einer Produktionslinie zu Ende gingen, wurde eine Kanban-Karte an das Lager weitergereicht, auf der u. a. vermerkt war, welche Materialien in welcher Menge benötigt wurden. Im Lager standen neue Behälter mit diesem Material bereit, die daraufhin zur Fertigungshalle geschickt wurden. Das Lager reichte dann wiederum eine eigene Kanban-Karte an den Lieferanten weiter. Obwohl sich dieser Prozess seit den 1940er-Jahren weiterentwickelt hat, bleibt der „just-in-Time“ (JIT)-Fertigungsprozess das Herzstück der Kanban-Methode.
Kanban für Softwareteams
Agile Softwareentwicklungsteams nutzen heute dieselben JIT-Grundsätze, indem sie die Anzahl der laufenden Arbeiten an die Kapazität des Teams angleichen. So kann das Team flexibler planen, Aufgaben schneller erledigen, sich auf kontinuierliche Verbesserung fokussieren und für Transparenz im gesamten Entwicklungszyklus sorgen.
Die Kernprinzipien des Kanban-Frameworks sind zwar zeitlos und können in nahezu jeder Branche angewandt werden, jedoch verzeichnen insbesondere Softwareentwicklungsteams mit der agilen Methode große Erfolge. Im Gegensatz zu der Einführung von Kanban in einer Fertigungshalle, wo dies zu Veränderungen physischer Prozesse und zu einer beträchtlichen Menge an zusätzlichen Materialien führen würde, benötigen Softwareteams als einziges physisches Material ein Board und Aufgabenkarten – und selbst diese können virtuell sein.
Kanban Boards
Die Arbeit von Kanban-Teams dreht sich um ein Kanban-Board, ein Tool, das verwendet wird, um den Workflow teamübergreifend zu visualisieren und zu optimieren. Physische Boards sind zwar bei einigen Teams beliebt, jedoch sind virtuelle Boards aufgrund ihrer Rückverfolgbarkeit, Zusammenarbeitsmöglichkeiten und Barrierefreiheit von mehreren Standorten aus in jedem agilen Softwareentwicklungstool unverzichtbar.
Unabhängig davon, ob ein Team ein digitales oder physisches Kanban-Board verwendet, stellt es sicher, dass das Team seine Arbeit visualisiert, seinen Workflow standardisiert und etwaige Blockaden und Abhängigkeiten umgehend identifiziert und löst. Ein einfaches Kanban-Board beinhaltet einen dreiphasigen Workflow: Zu erledigen, In Bearbeitung und Erledigt. Abhängig von der Größe, Struktur und den Zielen von Teams kann der Workflow jedoch so abbildet werden, dass er ihren individuellen Prozessen entspricht.
Die Kanban-Methode basiert auf völliger Transparenz der Aufgaben und Mitteilung der Kapazitäten in Echtzeit. Deshalb dient das Kanban-Board als die zentrale Informationsquelle für die Arbeit des Teams.
Kanban-Karten
Die wörtliche Übersetzung von Kanban aus dem Japanischen ist „visuelles Signal“. Kanban-Teams stellen jedes Arbeitselement als separate Karte auf dem Board dar. Die Darstellung von Aufgaben als Karten auf dem Kanban-Board soll zuallererst die Verfolgung des Arbeitsfortschritts entlang des Workflows durch eine klare visuelle Darstellung ermöglichen.
Kanban-Karten enthalten wichtige Informationen zu Projektaufgaben und geben Teams einen Überblick darüber, wer für welche Aufgaben verantwortlich ist, sowie eine kurze Beschreibung der Aufgabe und wie lange Aufgaben voraussichtlich dauern werden. Karten auf virtuellen Kanban-Boards sind zudem häufig mit Screenshots und anderen technischen Details versehen, die für die zugewiesene Person hilfreich sind.
Dadurch, dass Teammitglieder jederzeit den Status jeder Aufgabe sowie relevante Details einsehen können, wird eine erhöhte Konzentration, eine umfassende Rückverfolgbarkeit und eine schnelle Identifizierung von Blockaden und Abhängigkeiten gefördert.
Vorteile des Kanban-Frameworks
Kanban ist eine der beliebtesten Softwareentwicklungsmethoden, die agile Teams heute verwenden. Kanban bietet zusätzliche Vorteile in Bezug auf die Aufgabenplanung und den Durchsatz für Teams jeder Größe.
Flexibilität bei der Planung
Ein Kanban-Team konzentriert sich nur auf die Arbeit, die aktiv ausgeführt wird. Sobald das Team eine Aufgabe abgeschlossen hat, wählt es die nächste Aufgabe aus dem Backlog aus. Der Produktinhaber kann die Priorität von Aufgaben im Backlog beliebig neu festlegen, ohne das Team zu unterbrechen, da sich alle Änderungen, die nicht das aktuelle Aufgabenelement betreffen, nicht auf das Team auswirken.
Solange der Produktinhaber dafür sorgt, dass die wichtigsten Aufgabenelemente oben im Backlog stehen, kann das Entwicklerteam dem Unternehmen den größtmöglichen Wert liefern.
Erfahrene Produktinhaber beziehen das Entwicklerteam immer mit ein, wenn sie Änderungen am Backlog in Betracht ziehen. Wenn sich beispielsweise die User Storys 1 bis 6 im Backlog befinden, basiert die Schätzung für User Story 6 möglicherweise auf dem Abschluss der User Storys 1 bis 5. Änderungen sollten immer mit dem Entwicklerteam besprochen werden, damit es keine Überraschungen gibt.
Kürzere Durchlaufzeit
Die Durchlaufzeit ist für Kanban-Teams eine wichtige Metrik. Die Durchlaufzeit ist die Zeit, die eine Arbeitseinheit benötigt, um den Workflow des Teams zu durchlaufen – von dem Moment, an dem die Aufgabe gestartet wird, bis zu dem Moment, an dem sie ausgeliefert wird. Durch eine Optimierung der Durchlaufzeit kann das Team die Bereitstellung geplanter Aufgaben zuverlässig prognostizieren.
Die Überschneidung von Kompetenzen sorgt für kürzere Durchlaufzeiten. Wenn nur eine Person über eine bestimmte Kompetenz verfügt, kann diese Person einen Engpass im Workflow darstellen. Deshalb nutzen Teams Best Practices wie Code-Reviews und Mentoring, um ihr Wissen zu teilen. Geteilte Kompetenzen bedeuten, dass Teammitglieder heterogene Aufgaben übernehmen und damit die Durchlaufzeit weiter optimieren können.
Darüber hinaus ermöglicht dieser Ansatz dem gesamten Team, Arbeitsengpässe gemeinsam anzugehen, was eine schnelle Lösung ermöglicht und einen reibungslosen Workflow gewährleistet. Zum Beispiel erstreckt sich die Verantwortung für Tests nicht nur auf die Qualitätssicherung, sondern auch auf Entwickler, wodurch zusammen an der Gewährleistung von Effizienz gearbeitet wird. In einem Kanban-System sorgt das gesamte Team dafür, dass die Arbeit den Prozess reibungslos durchläuft.
Weniger Engpässe
Multitasking erstickt Effizienz. Je höher die Arbeitsbelastung zu einem bestimmten Zeitpunkt, desto häufiger treten Kontextwechsel auf, was den Abschluss von Aufgaben behindert. Deshalb ist ein wichtiger Grundsatz des Kanban-Prozesses, Grenzen für laufende Arbeit zu setzen. Grenzen für laufende Arbeit heben Engpässe im Teamprozess hervor, die auf mangelnde Konzentration, fehlende Mitarbeiter oder Fähigkeiten zurückzuführen sind.
Ein typisches Softwareteam hat möglicherweise vier Workflow-Status festgelegt: „Zu erledigen“, „In Bearbeitung“, „Code-Review“ und „Erledigt“. Das Team kann die WIP-Grenze für den Code-Review-Status auf 2 festlegen. Das mag wie eine niedrige Grenze erscheinen, aber dafür gibt es einen guten Grund.
Entwickler ziehen es oft vor, neuen Code zu schreiben, anstatt Zeit damit zu verbringen, die Arbeit von jemand anderem zu überprüfen. Eine niedrige Grenze ermutigt das Team, Problemen im Review-Status besondere Aufmerksamkeit zu widmen und die Arbeit anderer zu überprüfen, bevor sie ihre Code-Reviews einleiten, wodurch letztlich die Gesamtzykluszeit reduziert wird.
Visuelle Darstellung von Metriken
Einer der zentralen Werte ist ein starker Fokus auf die kontinuierliche Verbesserung der Teameffizienz und -effektivität bei jeder Arbeitsiteration. Diagramme bieten Teams einen visuellen Mechanismus, um sicherzustellen, dass sie sich weiter verbessern.
Wenn das Team Daten sehen kann, ist es einfacher, Engpässe im Prozess zu erkennen (und sie zu beseitigen). Zwei Berichte, die Kanban-Teams häufig verwenden, sind Kontrolldiagramme und kumulative Flussdiagramme. In einem Kontrolldiagramm werden die Durchlaufzeit jedes Vorgangs und ein fortlaufender Durchschnitt für das Team dargestellt.
Das Ziel des Teams ist es, die Zeit zu reduzieren, die ein Vorgang benötigt, um den gesamten Prozess zu durchlaufen. Einen Rückgang der durchschnittlichen Zykluszeit im Kontrolldiagramm zu sehen, bedeutet Erfolg.
Ein kumulatives Flussdiagramm zeigt die Anzahl der Vorgänge pro Status. Das Team kann Blockaden leicht erkennen, wenn die Anzahl der Vorgänge in einem bestimmten Status zunimmt. Vorgänge in Zwischenstatus wie „In Bearbeitung“ oder „In Überprüfung“ werden noch nicht an Kunden geliefert, und eine Blockaden in diesen Status kann die Wahrscheinlichkeit massiver Integrationskonflikte bei der späteren Zusammenführung erhöhen.
Continuous Delivery
Bei Continuous Delivery (CD) geht es darum, Kunden häufige Releases bereitzustellen. Bei Continuous Integration (CI) werden im Verlauf eines Tages automatisch inkrementell Builds erstellt und Code-Tests durchlaufen. Zusammen bilden sie eine CI/CD-Pipeline, die für DevOps-Teams unerlässlich ist, um Software schneller und in hoher Qualität ausliefern zu können.
Kanban und CD ergänzen einander auf nahezu perfekte Weise, da bei beiden der Schwerpunkt auf der Just-in-Time-Wertbereitstellung (mit jeweils einem Wert) liegt. Je schneller ein Team dem Markt Innovationen liefern kann, umso wettbewerbsfähiger ist das Produkt. Kanban-Teams konzentrieren sich auf genau das: die Optimierung der Übergabe von Arbeit an Kunden.
Scrum im Vergleich zu Kanban
Kanban und Scrum basieren teilweise auf gemeinsamen Konzepten, der Ansatz ist jedoch jeweils unterschiedlich. Die Verfahren sollten nicht miteinander verwechselt werden.
| Scrum | Kanban |
---|---|---|
Release-Methoden | Scrum Regelmäßige Sprints mit fester Länge (d. h. zwei Wochen) | Kanban Kontinuierlicher Fluss |
Rollen | Scrum Product Owner, Scrum Master, Entwicklerteam | Kanban Continuous Delivery oder nach Ermessen des Teams |
Zentrale Messgrößen | Scrum Velocity | Kanban Durchlaufzeit |
Änderungsphilosophie | Scrum Teams sollten während des Sprints keine Änderungen an der Sprintprognose vornehmen. Dies beeinträchtigt die Lernlektionen aus der Schätzung. | Kanban Es kann jederzeit zu Änderungen kommen. |
Einige Teams vereinen die Ideale der Kanban-Methode und Scrum zu „Scrumban“. Sie kombinieren Sprints mit fester Länge und Rollen aus Scrum mit der Fokussierung auf WIP-Grenzen und Durchlaufzeiten von Kanban.
Teams, die agile Methoden gerade erst einführen, sollten sich jedoch unbedingt für eine Methode entscheiden und diese eine Weile beibehalten. Ist dein Team bereit für die Kanban-Methode? Dann verwende noch heute unsere kostenlose Kanban-Board-Vorlage!
Related resources
Mit der Jira Kanban-Vorlage kostenlos loslegen
Maximale Effizienz dank eines guten Überblicks über die wichtigsten Aufgaben
Bereit für den ersten Schritt?
Schrittweise Anleitungen zur Umsetzung eines Kanban-Projekts, Priorisierung deiner Aufgaben, Visualisierung deines Workflows und Reduzierung der WIP-Aufgaben mit Jira
Dieses Tutorial ansehenAgiles Design: Prozesse und Richtlinien für kollaboratives Design
Ein kollaboratives Design überträgt sich auf das Produktdesign, wenn du zu Beginn eines Projekts die Perspektive von Kunden und Entwicklern berücksichtigst. Hier erfährst du mehr dazu.
Artikel lesen