Wie kombiniert man Wasserfall mit Kanban?

Unser Team verfügt über eine Vielzahl von Workitem-Typen. Manche unserer Arbeiten sind projektbezogen, manche operativ, manche generieren wir selbst intern.

Um auf die Bedürfnisse des Unternehmens und anderer Teams reagieren zu können, haben wir uns für Kanban statt für Scrum entschieden.

Einige größere Projekte werden immer noch nach dem Wasserfallprinzip verwaltet. Dies liegt außerhalb unserer Kontrolle.

In diesen Fällen beginnen wir mit der Entwicklung und den Geschichten im Zusammenhang mit dem Projektübergang durch verschiedene Zustände auf dem Board und landen schließlich in einer UAT/QA-Spalte, wo sie bleiben, bevor sie am Ende des Projekts für die Produktion freigegeben werden. Ein Projekt kann bis zu 12 Monate (manchmal auch etwas länger) dauern. Das Ergebnis ist, dass sich am Ende eine große Anzahl von Aufgaben in dieser Spalte stapeln und sie alle auf einmal geschlossen/auf Erledigt verschoben werden.

  • Müssen wir unsere Definition von Done ändern, damit wir diese Geschichten schließen können, um zu verhindern, dass sie sich anhäufen?
  • Ändern wir das Board und fügen eine neue Spalte hinzu, um den Status "Ready to Release" anzuzeigen. Ich bin mir nicht sicher, ob dies das Problem behebt oder nur verschiebt. Wenn dies die Antwort ist, sollte diese Spalte in die Zykluszeit aufgenommen werden? Das Go-Live-Datum des Projekts liegt nicht in unserer Hand.
Wenn Sie angeben, dass die Geschichten in einer „UAT/QA“-Spalte verweilen, meinen Sie damit, dass das Testen ebenfalls verschoben wird, bis die Geschichte an den Kunden geliefert wird? Oder gibt es vorher noch eine separate Testphase?
@BartvanIngenSchenau Ich meine, dass eine Geschichte tatsächlich vollständig getestet werden kann und nichts anderes damit passiert. Aber aufgrund der Natur des Wasserfalls werden alle Geschichten erst live geschaltet, nachdem die letzte im gesamten Projekt getestet wurde.

Antworten (3)

Das Kanban-System sollte den Teil des Prozesses abdecken, über den Sie und Ihr Team die Kontrolle haben. In Ihrem Fall klingt es so, als würde es mit der Arbeit des gesamten Projekts in der „To Do“-Phase beginnen. Sie würden einzelne Aufgaben über die Lebensdauer des Projekts durch den Prozess ziehen. Es hört sich auch so an, als ob Sie nach UAT/QA eine Phase namens „Done“ haben sollten.

Wenn Sie ein gutes WIP-Limit festlegen, befinden sich die meisten Ihrer Aufgaben zu jedem beliebigen Zeitpunkt entweder in „To Do“ oder „Done“. Nur ein kleiner Teil der Arbeiten wird im Gange sein. Der Vorteil davon ist, dass Sie beginnen können, einen agileren Ansatz bei Ihren Kunden zu fördern. Wenn Sie sie die Aufgaben in der Phase „Erledigt“ nach Abschluss überprüfen lassen, wird die endgültige Übergabe keine Überraschungen enthalten. Dies gibt dem Kunden auch einen guten Einblick in den Fortschritt des Projekts. Sie sollten sie auch Änderungen an der Arbeit vornehmen lassen, die sich noch in „To Do“ befindet. Wenn sie sich angewöhnen, kleine Arbeitsschritte zu überprüfen und dann ihre Pläne anzupassen, haben Sie sie am ehesten davon überzeugt, den Wasserfallansatz aufzugeben.

Stimme @John_C zu. Sehr oft, wenn ein Kunde einen „Wasserfall“ wünscht, meint er in Wirklichkeit, dass das Produkt erst freigegeben werden kann, nachdem wesentliche Funktionen abgeschlossen sind, nicht früher. Aber normalerweise hat niemand Einwände gegen UAT von jedem abgeschlossenen Teil der Funktionen – dh Sie können einen üblichen Agile-Prozess etablieren, der nicht in der Produktion, sondern in einer Staging-Umgebung veröffentlicht wird, und Ihren Kunden bitten, dort UAT durchzuführen. In einem solchen Fall profitieren Sie von den meisten Agile-Vorteilen, auch wenn Sie kein Feedback von Ihren Endbenutzern erhalten können, die die Produktion veröffentlichen. Auch verwandte Frage: pm.stackexchange.com/a/24490/32641

Leider leiden beide Ihrer Lösungsvorschläge unter demselben Problem: Sie wissen nie wirklich, wie viel Arbeit an den "erledigten" Elementen verbleibt.

Was passiert, wenn bei der Veröffentlichung einige größere Probleme gefunden werden? Wie lange dauert es, diese Probleme zu beheben? Was ist, wenn eine komplette Neuarchitektur des Codes notwendig ist?

Sie sprechen davon, die Zykluszeit zu messen, aber ohne die verbleibende Arbeit an Artikeln zu kennen, hat die Zykluszeit wenig Wert.

Angenommen, das Team nimmt einige Änderungen an der Funktionsweise vor und die Zykluszeit verbessert sich. Das Team freut sich über die positiven Veränderungen. Einige Monate später entdecken Sie während der endgültigen Integration und Freigabe einige Probleme im Zusammenhang mit den von Ihnen vorgenommenen Änderungen. Nun wird deutlich, dass die Veränderungen negativ waren.

Sie können die Spalten auf dem Kanban-Board beliebig anpassen, aber da Releases so selten stattfinden, wird es schwierig, einen wirklich agilen Ansatz zu verfolgen. Agile funktioniert am besten, wenn es einen häufigen Inspektions- und Anpassungszyklus gibt, der es Ihnen ermöglicht, sich zu verbessern.

Mein Vorschlag wäre zu untersuchen, ob es Möglichkeiten gibt, Zwischenversionen oder eine Art Beta-Lieferung durchzuführen. So haben Sie zumindest die Möglichkeit, regelmäßiges Feedback zu erhalten und Ihre Arbeitsweise anzupassen.

Ein Feature ist fertig, wenn es möglicherweise für einen Kunden freigegeben werden könnte. Es kann gute geschäftliche Gründe geben, es nicht an den Kunden herauszugeben, aber das ändert nichts daran, ob es getan wird oder nicht.

Wenn es also zur Veröffentlichung bereit ist, markieren Sie es als erledigt. Verfolgen Sie Ihre Wiederbesuchsrate, wenn diese hoch ist, dann bewerten Sie die Definition-of-Done neu.

Als separates Projekt kann das Unternehmen die Lagerbestände betrachten (erledigte Arbeit, die nicht verkauft wird). Beteiligen Sie sich jetzt nicht daran.