Was ist Wertstromanalyse?

Die Wertstromanalyse ist eine „Lean“-Methode zur Prozessanalyse, die durch Verschwendung geprägte Bereiche identifiziert und Arbeitsabläufe optimiert.

Bei Lean Manufacturing werden durch die Wertstromanalyse alle Schritte analysiert, die zur Umwandlung von Rohstoffen in Produkte erforderlich sind, einschließlich Logistik, Lagerhaltung und Fertigungslinien. Das Ziel hierbei ist, diese Schritte effizienter zu gestalten.

Dieser Prozess umfasst die Abbildung des gesamten Ablaufs, die Identifizierung verschiedener Arten von Verschwendung – etwa Überproduktion, Wartezeiten, Bewegungen und Defekte – und die anschließende Erstellung und Umsetzung eines Plans, um diese Verschwendung zu minimieren.

Die Lean-Software-Bewegung hat gezeigt, wie die Denkweise und die Techniken des Lean-Frameworks – darunter auch die Wertstromanalyse – auf den Softwareentwicklungszyklus angewendet werden können, um diesen effizienter zu gestalten und das Endprodukt zu verbessern.

Die Lean-Philosophie ist eine Ergänzung zu den Agile- und DevOps-Prinzipien, die die Vorteile iterativer Zyklen mit kontinuierlichen Feedback-Schleifen sowie die Notwendigkeit der „eingebauten“ Qualität als Methode zur schnelleren Wertschöpfung betonen.

Das Erstellen einer Wertstromkarte Ihres Softwareentwicklungsprozesses kann unabhängig davon nützlich sein, ob Sie bereits eine CI/CD-Pipeline betreiben oder gerade erst in das Thema einsteigen.

Durch Abbildung aller beteiligten Schritte, Personen und Tools – von der Ideenfindung über die Entwurfsphase und die Entwicklung bis hin zur Veröffentlichung – können Sie den gesamten Produktlebenszyklus darstellen.

Diese Karte kann dann verwendet werden, um den Austausch zwischen dem Entwicklungs- und dem Operations-Team zu erleichtern, einen Konsens über die Wertschöpfung der einzelnen Schritte zu erzielen und die Anliegen und Motivationen aller Beteiligten zu erfassen.

Sobald Sie den Prozess skizziert haben, können Sie mit der Identifizierung von Verschwendung beginnen – also Aktivitäten, die aus Benutzersicht keine Wertschöpfung darstellen (entweder direkt in Form von gewünschten Funktionen oder indirekt, etwa durch einen Beitrag zur Produktstabilität).

Die im Lean-Manufacturing-Konzept identifizierten Verschwendungsarten wurden wie folgt auf die Softwareentwicklung übertragen:

Unerwünschte Features

Wie bei der Überproduktion in der Industriefertigung stellt die Entwicklung von nicht genutzten Softwarefunktionen eine Verschwendung dar. Die Arbeit in kleinen Schritten, die Veröffentlichung in kurzen Abständen, der MVP-Ansatz (Minimum Viable Product, d. h. minimal existenzfähiges Produkt) sowie die kontinuierliche Erfassung (und Beachtung) von Feedback dienen allesamt dazu, Ihren Entwicklungsprozess so zu steuern, dass Sie keine Zeit und Mühe auf Features verschwenden, die nicht verwendet werden.

Aufgabenwechsel

Ständiges Wechseln zwischen verschiedenen Aufgaben ist ineffizient, da Sie daran gehindert werden, einen „Flow“-Zustand zu erreichen. Jedes Mal, wenn Sie bei einer Aufgabe unterbrochen werden, dauert es einige Zeit, bis Sie wieder in den richtigen Geisteszustand gelangen und produktiv arbeiten können. Eine vollständig automatisierte Pipeline, die keine manuellen Eingriffe etwa zum Starten der einzelnen Testphasen erfordert, hilft, Aufgabenwechsel zu minimieren. Zur Vermeidung unnötiger Aufgabenwechsel trägt auch die sorgfältige Verwendung von Warnungen bei, sodass Sie nur dann unterbrochen werden, wenn es unbedingt erforderlich ist (z. B. bei einem Fehler in der Produktion, nicht aber bei einem fehlgeschlagenen Unit-Test).

Wartezeiten

In jeder Phase des Workflows sind Verzögerungen eine der offensichtlichsten Formen der Verschwendung und verlangsamen letztendlich die Markteinführung. Durch die Reduzierung von Übergaben zwischen Mitwirkenden und die Automatisierung aller Bereiche, in denen dies möglich ist – Buildvorgang, Testen, Deployment und Feedback – können Wartezeiten vermieden werden.

Überschüssige Prozesse

Übermäßig komplexe Prozesse und Verfahren in Fällen, in denen auch eine einfachere Vorgehensweise zu den gleichen Ergebnissen führen würde, erfordern mehr Zeit und Ressourcen bei der Implementierung und Wartung. Die Beispiele reichen von überkomplizierten Deployment-Prozessen über Staging-Umgebungen bis hin zum Vorschreiben von Risikobewertungen vor jedem Release. Wenn Sie die Motivation hinter den einzelnen Schritten verstehen, können Sie beurteilen, ob auch ein einfacherer Prozess ausreichen würde.

Defekte

Diese verursachen zusätzliche Arbeit und Zeitaufwand für die Behebung und wirken sich negativ auf die Kundenerfahrung aus, sofern sie in die Produktion gelangen. Das Arbeiten in kleinen Schritten, die automatisch getestet werden, ist eine bewährte Methode, um eine hohe Qualität zu gewährleisten, Probleme frühzeitig zu erkennen und Problemursachen einfacher zu identifizieren. Wird ein Fehler erst im Produktionseinsatz entdeckt, werden die Auswirkungen auf die Benutzererfahrung minimiert, wenn das Unternehmen Fehlerkorrekturen schnell freigeben kann.

Unvollständige Arbeit

Im Fertigungskontext als Überbestand bekannt, bieten nur teilweise umgesetzte Features keinen Anwendernutzen – sie verlangsamen jedoch die Bereitstellung anderer Funktionen und Verbesserungen. Dies wird normalerweise dadurch verursacht, dass mit der Entwicklung eines Features begonnen wird, bevor das Unternehmen dazu bereit ist, was zu Verzögerungen führt. Gleichzeitig werden durch einen verbesserten Einblick in die Benutzerbedürfnisse Überarbeitungen fällig, um neue Anforderungen zu erfüllen.

Übergaben

Wenn die Arbeit für die nächste Phase an ein anderes Team übergeben werden muss, führt dies zu einer Verzögerung (da sich das nächste Team möglicherweise nicht sofort darum kümmern kann). Zudem ist ein Wissenstransfer erforderlich – entweder durch Besprechungen oder durch schriftliche Dokumentation. Oft geht dabei Wissen verloren, das neu erarbeitet werden muss. All dies kostet Zeit und Mühe und verlangsamt den Prozess. Die Minimierung von Übergaben durch funktionsübergreifende Teams, die für den gesamten Lebenszyklus zuständig sind, trägt dazu bei, diese Art von Verschwendung zu reduzieren.

Nachdem Sie Fälle von Verschwendung in Ihrem Prozess identifiziert haben, ist es an der Zeit, diese anzugehen.

Gemäß den Prinzipien von Lean, DevOps und Agile empfiehlt es sich, Änderungen schrittweise umzusetzen, ihre Auswirkungen zu überwachen, kontinuierlich Feedback zu sammeln und Ihren Kurs immer wieder entsprechend anzupassen.

Und schließlich sollten Sie nicht zulassen, dass die Wertstromanalyse selbst zu einer Verschwendung wird. Sie können zwar viel Zeit damit verbringen, die richtigen Symbole zu lernen und Ihre Ergebnisse in ein Mapping-Tool zu übertragen, um ein digitales Ergebnis zu erhalten – aber oft reicht zu Beginn eine einfache Whiteboard-Sitzung, um einen ersten Eindruck davon zu erhalten, welchen Nutzen eine Wertstromanalyse erbringen würde.