Skip to main content

Rat: Wie Softwareentwickler die Kanban-Methode anwenden können - die Muse - 2020

Youtube: Unterschätzte Medien-Konkurrenz | ZAPP | NDR (Oktober 2020).

Anonim

Du kennst Scrum, oder? Ich denke schon, wenn man bedenkt, dass die Scrum Alliance über 400.000 Mitglieder hat und die meisten von ihnen sie erfolgreich in ihren Organisationen einsetzen.

Aber es ist nicht die einzige Möglichkeit, Software agil zu erstellen - im Ernst! Hast du von Kanban gehört?

Für einige Hintergrundinformationen wurde es ursprünglich für die schlanke Fertigung verwendet, um den Input und Output von Arbeit zu visualisieren, während sie durch eine Fabrik floss. Diese Visualisierung wurde auf einer Tafel präsentiert, die als - warte darauf - Kanban bekannt ist. In jüngerer Zeit und für Sie relevanter wurde es als Methode zum Verwalten der Softwareentwicklung übernommen.

Der Neurologe David J. Anderson hat zunächst erläutert, wie Sie die Softwareentwicklung und -planung organisieren können, um Prozessprobleme aufzudecken und durchgängig wertvolle Verbesserungen für Ihr Produkt zu erzielen - was sich meines Wissens nach ideal anhört. Einfach ausgedrückt können Sie jederzeit sehen, wo sich die Arbeit (dargestellt durch Karten) im Entwicklungsprozess befindet.

Wie es funktioniert

Die Kanban-Grundplatine verwendet sechs Spalten, die anzeigen, wo sich die einzelnen Arbeiten im Produktentwicklungszyklus befinden. Eine grobe Auswahl dessen, wie es aussieht, finden Sie unten.

Sehen Sie sich dieses Kanban-Board-Beispiel auf Trello an.

Spalte 1: Rückstand

Die Spalte "Backlog" sollte eine priorisierte Liste mit Ideen, Fehlern oder Geschäftsanforderungen enthalten. Die Karte muss noch nicht sehr detailliert sein, sollte aber genügend Informationen enthalten, damit Ihre Teammitglieder verstehen, warum es wichtig ist.

Spalte 2: Planung

In dieser Spalte füllt ein Produktmanager eine Spezifikation für das Feature aus, indem er sich mit Geschäftsinteressenten, Ingenieuren und Designern trifft. Wenn es fertig ist, verschiebt er oder sie es in die Spalte "Ready for Engineering".

Spalte 3: Bereit für das Engineering

Zu diesem Zeitpunkt sollten alle Karten detaillierte Spezifikationen haben. Während Sie möglicherweise noch Fragen zu technischen Details haben, sollten die geschäftlichen Anforderungen klar sein.

Spalte 4: In Bearbeitung

Sie können jederzeit eine Karte auf "In Bearbeitung" verschieben. Dieses selbstgesteuerte Pull-System schafft eine Kultur persönlicher Verantwortlichkeit und Neugier.

Spalte 5: Testen

Wenn Sie die Arbeit an der Karte abgeschlossen haben, verschieben Sie sie zu „Testen“, wo ein anderer Ingenieur (oder jemand aus dem QA-Team) sie abholt.

Spalte 6: Bereitgestellt

Ein weiteres Merkmal ist, dass die Arbeit kontinuierlich an eine Staging- oder Produktionsumgebung übergeben werden muss. In dieser Spalte kann jeder im Team sehen, welche Arbeiten kürzlich veröffentlicht wurden.

Die Vorteile und Kompromisse

Wenn Sie sich zwischen Kanban und einer gängigen Methode wie Scrum oder Waterfall entscheiden, sollten Sie die folgenden Vorteile und Herausforderungen berücksichtigen:

Vorteil: Verbessert die Zusammenarbeit

In einigen Entwicklungsteams, mit denen ich zusammengearbeitet habe, waren Ingenieure Spezialisten. Jedes Team würde ein paar Frontend-Ingenieure und Backend-Ingenieure haben. Dies bedeutete, dass die Arbeit oft blockiert wurde, weil ein Ingenieur mit etwas anderem beschäftigt war.

Kanban hingegen schränkt die laufenden Arbeiten ein und entmutigt Blockaden. Jedes Teammitglied kann jeweils nur an einem Element arbeiten, und jeder, der nicht beschäftigt ist, kann die Arbeit oben in der Spalte „Bereit für das Engineering“ abrufen. Dies fördert Generalisten im Ingenieurwesen und die Zusammenarbeit zwischen den Teammitgliedern.

Steigern Sie den Nutzen: Lassen Sie Dinge nicht passieren, bevor sie fertig sind

Kanban funktioniert nur, wenn Sie darauf warten, dass die Karten in die nächste Spalte verschoben werden, bis sie vollständig verbraucht sind. (Bonus: Dies minimiert Fehler erheblich.)

Herausforderung: Entmutigt die Zeit zum Nachdenken

Standardmäßig gibt es keine Zeitraffer-Sprints mit eindeutigen Zielen, Datumszielen und Veröffentlichungszyklen. Stellen Sie sich stattdessen jede Karte als eigenständiges Werk vor, das jederzeit abgeschlossen und freigegeben werden kann.

Mit diesem kontinuierlichen Arbeitsfluss gibt es keine Möglichkeit, bis zum nächsten Sprint zu warten. Sie müssen das Spielfeld ständig überprüfen, den nächsten Gegenstand ziehen und die fertigen Gegenstände stromabwärts bewegen. Wenn Sie nicht rechtzeitig für Rückblicke und Aufbauten aufbauen, ist es für Teammitglieder möglicherweise schwierig, Schritt zu halten.

Erhalten Sie herum: Leihen Sie, was von Scrum arbeitet

Ich habe mit Kanban tägliche Stand-ups und Retrospektiven durchgeführt und festgestellt, dass sie einen Mehrwert bieten. Wenn es regelmäßige Besprechungen oder Muster gibt, die für Ihr Team funktionieren, ändern Sie diese nicht, um sich dogmatisch an Kanban zu halten. Planen Sie Zeit ein, um über die Prioritäten und deren Änderung zu sprechen, damit jeder weiß, was im Produktentwicklungszyklus vor sich geht.

Vorteil: Erhöht die Transparenz

Jeder Entwickler muss die Initiative ergreifen, um eine Karte in die Spalte "In Bearbeitung" zu verschieben. Das heißt, der Manager des Teams kann zu jedem Zeitpunkt überprüfen, wer beschäftigt ist, wer nicht und wie lange eine Arbeit bereits ausgeführt wird.

Wenn die Produktion verlangsamt oder gestoppt wird, können Sie mit Kanban genau sehen, warum. Ganz gleich, ob das Geschäftsteam keine Prioritäten für Elemente im Backlog festgelegt hat, das Produktteam die Spezifikation noch nicht abgeschlossen hat, das Entwicklerteam langsamer voranschreitet als erwartet oder das QA-Team nicht in der Lage war, etwas zu testen. Die Engpässe liegen auf der Hand.

Steigern Sie den Nutzen: Ermöglichen Sie die Veröffentlichung von Fortschritten

Einer der Vorteile ist, dass Kanban sehr visuell ist. Sogar nicht-technische Teammitglieder können sich ein Kanban-Board ansehen und feststellen, wo sich Arbeiten im Prozess befinden. Nutzen Sie dies zu Ihrem Vorteil und lassen Sie die Leistungen des Teams erstrahlen, indem Sie Ihr Board an einem öffentlichen Ort aufstellen.

Herausforderung: Lässt keine langfristige Planung zu

Das Sorgen um Fristen und Schätzungen ist nicht die produktivste Verwendung Ihrer Zeit, daher werden Sie vielleicht zu schätzen wissen, dass es bei Kanban mehr um die tägliche Ausgabe geht. Das heißt, es allein bietet kein System für die Erstellung eines langfristigen Plans. Dies kann dazu führen, dass Sie sporadisch an Projekten arbeiten, anstatt sich lange auf eine Sache zu konzentrieren. Es ist schwierig, einen Tag mit Projekt A und dann einen Tag mit Projekt B zu verbringen und dann wieder zu Projekt A zu wechseln.

Umgehen Sie es: Verwenden Sie es, wenn sich Ihre Prioritäten wahrscheinlich ändern werden

Jede Spalte in Ihrem Board ist unabhängig von den anderen, sodass die Teammitglieder jederzeit etwas bewegen können. Dies kann Entwickler in einer Scrum-Umgebung ärgern (in der Schätzungen für den Sprint im Voraus vorgenommen werden), aber Kanban gedeiht in einer sich schnell ändernden Umgebung.

Jeder möchte produktiver sein, aber es kann schwierig sein, etwas Neues auszuprobieren, wenn Sie nicht einmal sicher sind, wo Sie anfangen sollen. Ich fand Kanban hilfreich und hoffe, dass Sie es auch für Ihren persönlichen Workflow (oder sogar für Ihr gesamtes Team!) Nützlich finden.

Twittern Sie mich, wenn Sie sich entscheiden, es zu versuchen!