Agile Methoden als Treiber für Innovationen

Kanban: Wurzeln in Japan

von - 06.07.2018
Scum-Framework
Das Scrum-Framework: Ausgangspunkt ist das Product Backlog. In iterativen Schritten wird eine Lösung Zug um Zug entwickelt und optimiert.
(Quelle: Scrum.org)
Zu den Oldtimern im Bereich Projektmanagement zählt Kanban. Die Methode kam erstmals Ende der 1940er-Jahre bei Toyota in Japan zum Einsatz – also in der Industrie. Das Ziel: Fertigungsprozesse so zu optimieren, dass nur die zu einem bestimmten Zeitpunkt erforderlichen Arbeitsmittel und Materialien vorgehalten werden mussten. Dieses Just-in-Time-Prinzip wird noch heute von Industrieunternehmen eingesetzt, auch in der Automobilbranche.
Im Software-Bereich lässt sich Kanban dazu nutzen, um die Projektplanung zu perfektionieren und die Transparenz eines Entwicklungszyklus zu erhöhen. Die Entwickler sollen so ausgelastet werden, dass sie weder zu viele Aufgaben erhalten noch unterbeschäftigt sind. Ähnlich wie Scrum erfordert Kanban keine hohen Investitionen. Die Hilfsmittel sind eine Tafel (Board) und Karten, auf denen Arbeitsschritte und Verantwortliche aufgelistet sind. Jedes Aufgabenelement wird auf einer separaten Karte aufgeführt. Unterschiedliche Farben helfen dabei, Aufgaben, Zuständigkeiten und den Fortschritt von Arbeiten deutlich zu machen.

Virtuelle Kanban-Boards

Da die Mitglieder von Software-Teams sehr häufig an unterschiedlichen Standorten angesiedelt sind, bietet sich der Einsatz von virtuellen Kanban-Boards an. Diese stehen entweder als Service über hauseigene Rechenzentren oder als Cloud-Dienst zur Verfügung. Beispiele für solche cloudbasierten Boards sind etwa Jira von Atlassian, Planview Leankit, RealtimeBoard und Smartsheet. Diese Lösungen erlauben es zudem, technische Details in Kanban-Karten zu integrieren, die für den Bearbeiter wichtig sind. Das können beispielsweise Screenshots sein oder eine Liste von Funktionen.
Zu den Pluspunkten von Kanban in der Software-Entwicklung zählt dessen hohe Flexibilität. Neue Anforderungen oder Änderungen eines Projektverlaufs lassen sich relativ einfach integrieren. Hinzu kommen die einfache Struktur der Methode und der geringe Einarbeitungsaufwand. User beziehungsweise Kunden profitieren davon, dass Produkte kontinuierlich und in einem festen Zeitrahmen ausgeliefert werden.
Ein möglicher Schwachpunkt ist, dass keine festen Zeitvorgaben für einzelne Spalten auf dem Kanban-Board existieren, sondern nur Phasen definiert sind: „Zu tun“, „In Arbeit“, „Abgeschlossen“. Das kann zu Missverständnissen führen. Zudem tendieren manche Entwicklungsteams dazu, Kanban-Boards mit zu vielen Detailaufgaben gewissermaßen zuzumüllen. Das widerspricht dem Ansatz einer möglichst klaren, einfach gehaltenen Planungshilfe. Wichtig ist außerdem, die Boards ständig zu aktualisieren. Das gilt allerdings auch für die Informationen, die Scrum-Tools bereitstellen.
DataOps: Mit „richtigen“ Daten arbeiten
Damit Applikationen reibungslos funktionieren, sollten Entwickler und Software-Testspezialisten die Option haben, mit „richtigen“ Daten (Produktivdaten) zu arbeiten. Das sind beispielsweise Adressdaten und Zahlungsinformationen von Kunden eines Web-Shops.
Hier kommt DataOps ins Spiel (Data Operations). Dies sind agile Methoden und Prozesse, die das Management und die Verarbeitung von Daten effizienter machen. „Im Grunde geht es darum, die Bereitstellung von Daten zu beschleunigen, um die Arbeit von Entwicklern, Testern und Analysten zu erleichtern“, sagt
Minas Botzoglou, Regional Director DACH beim Software-Unternehmen Delphix. „Gleichzeitig sollen Administratoren einen Überblick erhalten, um das Datenmanagement effizient und datenschutzgerecht zu gestalten.“
Das lässt sich mit Hilfe von DataOps-Plattformen bewerkstelligen. Sie ermöglichen es Entwicklern, eine aktuelle Version der Produktivdaten bei der DataOps-Plattform abzurufen. Die benötigten Daten-Container, sogenannte Data Pods, werden innerhalb von Minuten in beliebiger Menge bereitgestellt. „Jeder Entwickler kann seine eigene Umgebung erstellen. So können mehrere Tests parallel laufen. Kleinere Anpassungen werden direkt auf Bugs überprüft“, so Botzoglou weiter. Zudem benötigen die virtuellen Datenkopien nur einen Bruchteil des Speicherplatzes der physischen Version. Deutlich aufwendiger ist es, Terabyte von Daten von einem Produktivsystem in eine Entwicklungs- oder Test-Umgebung zu transferieren.
Zu den größten Vorteilen von DataOps zählt, dass Entwicklung und Test gleichzeitig und koordiniert ablaufen. Tester können auftretende Fehler im Entwicklungsprojekt markieren und den Daten-Container an die Entwickler zurückspielen. Diese greifen dann mit Bookmarks auf einen früheren Entwicklungsstand der Applikation zu und können das Problem beheben.
Um Datenschutzvorgaben einzuhalten, werden personenbezogene Daten durch DataOps-Systeme automatisch maskiert, also pseudonymisiert. Entwickler verarbeiten dann aktuelle Datensätze, die aber keinen Personen zugeordnet werden können. Dennoch bleiben wichtige Korrelationen für Entwicklung und Test erhalten. Weil das Maskieren aufwendig ist, setzt laut Delphix derzeit nur rund ein Viertel der Unternehmen dieses Verfahren ein.
Verwandte Themen