Über die agile Softwareentwicklung und das Scrum-Modell haben wir hier schon einmal geschrieben. Heute möchten wir aber nochmal auf die Gemeinsamkeiten und Unterschiede der beiden prominentesten Frameworks in der agilen Entwicklung eingehen: Scrum und Kanban. Doch zuvor eine kleine Zusammenfassung der beiden Modelle.
Kanban
Kanban hat seinen Ursprung bereits in den 1940ern Jahren. Das Vorgehensmodell wurde ursprünglich von Toyota entwickelt, um den Produktionsprozess von Autos zu steuern und zu verbessern. Heute wird es vielfältig genutzt, vor allem im Projektmanagement.
Grundlage von Kanban ist ein Board mit drei Spalten „ToDo“, „In Arbeit“ und „Fertig“. Natürlich sind dabei zahlreiche Varianten möglich. So kann beispielsweise noch eine Spalte mit “Feedback ausstehend” hinzugefügt werden oder “Materialien benötigt”. An den Aufgaben wird in einem kontinuierlichen Fluss gearbeitet und in regelmäßigen kurzen Meetings wird über den aktuellen Stand des Projekts gesprochen.
Bei Kanban geht es immer darum, einen Prozess abzubilden, und zwar von der Planung bis zur Realisierung. Dafür durchwandern die Aufgaben, die in der analogen Variante auf Post-its geschrieben werden, die Spalten des Boards. In der digitalen Variante gibt es zahlreiche Projektmanagement-Tools für die Arbeit nach dem Kanban-Prinzip. Dieses Weiterrücken der Aufgaben bietet allen Beteiligten eine Übersicht über den aktuellen Stand. Außerdem fördert diese Transparenz nachweislich die Eigenmotivation des Teams.
Scrum
Scrum hingegen wurde erst in den 1990ern Jahren entwickelt, ist aber speziell auf das Projektmanagement bzw. die Softwareentwicklung ausgelegt.
Im Scrum soll das Denken in Zyklen in feste Abläufe gebracht werden. Im Mittelpunkt steht hierbei die Selbstorganisation der Teams, sowie die iterative und adaptive Vorgehensweise. Gearbeitet wird in Sprints, die zwei bis vier Wochen dauern. Nach jedem Sprint entsteht ein Produktinkrement, dass (zumindest theoretisch) an den Kunden ausgeliefert werden kann.
Auch gibt es bei Scrum festgelegte Rollen innerhalb des Teams. Dazu zählen der Product Owner, der Scrum-Master und das Entwicklungsteam. Mehr zu den Aufgaben der Teammitglieder kannst du im Blogbeitrag zur agilen Softwareentwicklung lesen.
In einem Daily-Scrum wird über den aktuellen Stand der Aufgaben gesprochen und am Ende eines jeden Sprints gibt es eine Sprint-Review, bei der das entwickelte Produktinkrement getestet und überprüft wird.
Zu den Gemeinsamkeiten und Unterschieden
Soviel also zu den Grundzügen der beiden Frameworks. Natürlich ist das nur ein kurzer Abriss der Modelle und in der Realität sind die Vorgehensweisen viel individueller, je nach Produkt, Anforderungen, Team-Größe, Freigaberichtlinien etc. Doch wo genau liegen denn nun die Unterschiede und die Gemeinsamkeiten bei Scrum und Kanban?
Ohne Team ist die Nutzung von Scrum nicht sinnvoll bzw. gar nicht möglich. Eine einzelne Person profitiert nicht von dem Nutzen, den Scrum bieten kann. Anders bei Kanban. Die Visualisierung durch Kanban kann auch einer Person, die alleine arbeitet helfen, die anstehenden Aufgaben zu ordnen und zu erledigen.
Dann ist Scrum wesentlich mehr darauf ausgelegt, der Kreativität einen begrenzten Rahmen zu geben und den Arbeitsprozess in geordnete Bahnen zu lenken. Und während Kanban auch hervorragend als Tool für Routineaufgaben wie zum Beispiel die Erstellung eines Marketingplans oder die Umsetzung eines Haushaltsplan fungiert, ist Scrum für Projekte geeignet, die definierte und geplante Anforderungen aufweisen, wie eben die Softwareentwicklung.
Im Kern beider Modelle steht aber ganz klar die Selbstorganisation der Teams und die Kommunikation zwischen den Teammitgliedern im Rahmen von regelmäßigen Meetings. Welche Vorgehensweise nun geeigneter ist, hängt häufig nur von der Größe des Projekts ab. Denn ohne Probleme kann Scrum auch für große und komplexe Projekte verwendet werden, bei dem mehrere Scrum-Teams miteinander an verschiedenen Inkrementen arbeiten. Kanban hingegen wird ab einer gewissen Projektgröße schnell unübersichtlich. Dann tummeln sich einfach zu viele Aufgaben auf dem Board und die Übersicht ist dahin.
Doch letztlich muss man sich gar nicht immer zwischen Scrum und Kanban entscheiden. Man kann die beiden Frameworks auch so kombinieren, wie es für einen am besten passt. Nichts spricht dagegen, ein Kanban-Board im Rahmen des Scrum-Prozesses zu verwenden. Tatsächlich trifft man das sogar recht häufig an. Schlussendlich ist nur wichtig, ob sich dein Projekt überhaupt für eine agile Methode wie Scrum oder Kanban eignet.