Warum enthalten Kanban Boards nur eine Bereitstellung?

Ich habe die Aufgabe, den Ticketstatus und die Kanban-Tafel für unser Softwareentwicklungsprojekt anzupassen.

Mir wurde klar, dass Microsoft Kanban Boards und eigentlich alle anderen Kanban Boards, die ich finden konnte, nur einen Bereitstellungsschritt zeigen. Es ist immer so etwas wie: Neu -> In Bearbeitung -> Testen -> Bereitstellung -> Fertig

Wie verfolgen diese Teams ihren Bereitstellungsstatus? Nachdem unsere Entwickler die neue Funktion getestet haben, wird sie in der Bühnenumgebung bereitgestellt. Dann machen wir auf der Bühne den UAT und dann gibt es eine Warteschlange für den nächsten Prod-Einsatz.

Warum scheinen die Kanbans anderer Unternehmen keinen Status „Bereit für Phaseneinsatz“ und „Bereit für Produkteinsatz“ zu haben? Ich muss wissen, welche Tickets bereitgestellt werden müssen, um die nächste Bereitstellung auszuführen. Ich möchte auch nach dem Deployment auf dem Entwicklungsserver nicht den Überblick über meine Tickets verlieren. Ich möchte wissen, ob es UATs bestanden hat oder nicht und ob es auf Prod steht.

Was vermisse ich?

Warum scheinen die Kanbans anderer Unternehmen keinen Status „Bereit für Phaseneinsatz“ und „Bereit für Produkteinsatz“ zu haben? Wen kümmert es, wie andere Kanban-Tafeln aussehen? Passen Sie Ihr Kanban-Board an, um Ihren Prozess und die Arbeitsweise Ihres Teams zu unterstützen. Alle Kanban-Tafeln sind unterschiedlich.
Ja, natürlich sollte ich es anpassen, um unsere Bedürfnisse zu unterstützen. Die Sache ist, dass ich noch nicht so viele Softwareprojekte durchgeführt habe und mich gefragt habe, warum meine Bedürfnisse anders zu sein scheinen als die anderer (für diese spezielle Angelegenheit). Bei allen Beispielprojekten, die ich überprüft habe, endet der Prozess mit dem Deployment und ich würde wirklich gerne wissen, warum das so ist. Soweit ich weiß, verwendet Microsoft auch Dev -> Stage -> Prod. Warum spiegelt sich das nicht in ihrem Kanban-Board wider?
Vielleicht, weil Beispielprojekte genau das sind, Beispiele. Sie erklären, wie man die Tools verwendet, was der Ablauf ist, was die Prinzipien sind usw., und das ist ihr Zweck, und nicht unbedingt einen echten Prozess für echte Software zu erklären.
Microsoft zeigt hier eines ihrer aktuellen Kanban-Tafeln . Wie Sie sehen können, enthält es auch nur eine Bereitstellungsphase. Selbst das von Ihnen gepostete Beispiel enthält nur eine Bereitstellung.

Antworten (2)

TL;DR

Es gibt hier keine richtige oder falsche Antwort in Bezug darauf, welche Aktivitäten, Spalten und Swimlanes zu einem bestimmten Kanban gehören. Es ist jedoch wahrscheinlich, dass Ihr Prozess von der Wahl eines Softwaretools bestimmt wird, anstatt die tatsächlichen Arbeitsabläufe und Arbeitsvereinbarungen in Ihrem Prozess widerzuspiegeln.

Sie sollten sorgfältig prüfen, ob Sie die richtigen Abstraktionen für Ihren Prozess erfasst haben. Sie sollten auch sicherstellen, dass Ihre Kanban-Warteschlangen effektiv den Ablauf und die kontinuierliche Verbesserung für jedes Team verfolgen und nicht die Arbeit, die von anderen Teams geleistet wird .

Analyse & Empfehlungen

Kanban basiert auf Warteschlangen und Abläufen, aber es basiert auf Ihren Warteschlangen und Abläufen. Es ist wohl ineffizient, Vor- und Nachwarteschlangen oder mehrere Zustandsübergänge für jede Aktivität zu haben, so dass viele erfahrene Praktiker sie weglassen, wenn sie keinen messbaren Mehrwert bringen.

Darüber hinaus tun dies viele Kanban-Anwender heute in einem agileren Kontext. Kanban-the-Framework (im Gegensatz zu verschiedenen Kanban-Praktiken, Artefakten und Methoden, die weiter verbreitet sind) ist oft eher auf Lean Manufacturing ausgerichtet als auf agile Frameworks für kleine Teams wie Scrum. Infolgedessen sind die Spalten eines einzelnen Boards im Allgemeinen auf Aktivitäten ausgerichtet, die direkt vom Team durchgeführt werden, anstatt alle möglichen Zustände zu halten, die dem internen Fluss des Teams fremd sind.

Wenn Ihr Team UAT, Staging und Produktionsbereitstellungen direkt handhabt, sollten Sie diese Abläufe auf jeden Fall in Ihrem Kanban widerspiegeln. Wenn es sich bei diesen Aktivitäten jedoch um Externalitäten handelt, die von anderen erledigt werden, sollte die Arbeit in das entsprechende Kanban (z. B. nicht Ihres) verschoben werden, wenn das Team damit fertig ist. In solchen Fällen ist es oft angemessener, die Arbeit vom Team als „erledigt“ zu markieren und dann kleinere Elemente, wie z um Arbeit zu verfolgen, die außerhalb des durch das Kanban des Teams repräsentierten Ablaufs ausgeführt wird.

Bei Kanban passt eine Größe definitiv nicht für alle. Ohne zu wissen, warum Sie die Abstraktionsebene für Ihre Workflows ausgewählt haben, und ohne alle Metriken zu verstehen, die Sie verfolgen, um festzustellen, ob diese Abstraktion für Sie nützlich ist oder nicht , macht es keinen Sinn, Ihre Abstraktionen damit zu vergleichen von jemand anderem.

Alle Modelle sind falsch; Es ist nur so, dass einige nützlich sind . Was Sie sich fragen müssen, ist, ob Ihr Modell nützlich ist. Wenn dies nicht der Fall ist, ist es sinnvoll, die Inspektions- und Anpassungsschleife Ihres Teams zu nutzen, wenn Sie sich auf Unwirtschaftlichkeiten zwischen Prozessen konzentrieren (anstatt alle Aktivitäten als intern zu behandeln, insbesondere wenn dies nicht der Fall ist).

Danke für die ausführliche Antwort. Mein Team kümmert sich um Entwicklung, UAT, Staging und Produktion, und deshalb erscheint es mir naheliegend, diese Zustände einzubeziehen. Wenn ich deinen Kommentar lese, denke ich, dass ich auf dem richtigen Weg bin. Obwohl es mir immer noch unintuitiv/seltsam erscheint, dass viele Teams ihre Tickets nach der Dev-Bereitstellung zu schließen scheinen. Afaik UAT werden oft auf der Bühne durchgeführt und ich finde es großartig, in dieser Phase die ursprünglichen User Stories und Testfälle zu haben.
@MajinBoo, ziehen Sie bitte die Möglichkeit in Betracht, dass die Spalte „Bereitstellung“ tatsächlich „in der Produktion bereitstellen“ bedeutet und dass die anderen Bereitstellungen beispielsweise in den Spalten „Test“ und „In Bearbeitung“ als implizit betrachtet werden.
@BartvanIngenSchenau Ich habe darüber nachgedacht, aber woher wissen wir in diesem Fall, welche Tickets bereits bereitgestellt wurden und welche nicht?

Viele Unternehmen kümmern sich heutzutage nicht mehr um den Bereitstellungsschritt, weil er zu trivial ist . Mit dem Aufkommen von Continuous Delivery ist es für viele von uns nur noch ein Klick auf eine Schaltfläche.

Auch Just-in-Time (Kanban) impliziert, dass Sie Ihre Bestandskosten (unerledigte Arbeit) niedrig halten – so dass die Anzahl der Aufgaben, die auf die Freigabe warten, 1 (im besten Fall) oder mehrere davon ist – was nicht schwer zu verfolgen ist. Wenn Ihre Tester also mit dem Testen fertig sind, wissen sie, dass sie zwei Aufgaben freigeben müssen – sie fahren einfach fort und stellen sie auf PRD bereit. In einem solchen Schema gibt es keine "große Liste von Aufgaben, die zur Freigabe anstehen".

Wenn Ihr Prozess komplizierter ist (es gibt Aktivitäten nach Funktionstests), dann haben Sie wahrscheinlich eine Spalte für diese Aktivitäten und Tester verschieben die Aufgabe in diese Spalte. Auch hier ist die Bereitstellung in der jeweiligen Umgebung nur ein Klick auf eine Schaltfläche, sodass selten eine zusätzliche Spalte erforderlich ist.

Wir versuchen, die unerledigte Arbeit gering zu halten, aber es summiert sich immer noch auf etwa 8 Tickets pro Bereitstellung. Natürlich ist das Deployment selbst sehr trivial, aber ich möchte trotzdem wissen, welche Tickets für das Deployment bereit sind / bereitgestellt werden sollen. Theoretisch könnte ich diese 8 Ticket-IDs auch mit Stift und Papier aufschreiben und auf die altmodische Art und Weise verfolgen, aber ich denke, dass es bequemer ist, einen Status im Ticketsystem zu verwenden, um den Überblick zu behalten.
Dann könnten Sie entweder eine Zwischenspalte "Done" (fertig) vs. "Closed" (geliefert) haben. Oder lassen Sie nur eine Spalte "Fertig" (bereit) und entfernen Sie die Aufgabe dann aus dem Board, sobald sie auf PRD bereitgestellt wurde.