Dieser Artikel wurde von unserem DevOps Enginneer Garrit Franke verfasst und am 06.09.2024 auf Golem.de veröffentlicht.
In der modernen Arbeitswelt sind Prozesse und Abteilungen oft eng verknüpft. Ein einzelnes Team kann effizient arbeiten, dennoch kann das Gesamtprojekt ins Stocken geraten. DevOps ist ein Ansatz, der die Zusammenarbeit zwischen den namensgebenden Entwicklungs- (Development) und Betriebsabteilungen (Operations) verbessern soll, um Software schneller, zuverlässiger und effizienter bereitzustellen. Die traditionellen Silos zwischen diesen und anderen Bereichen sollen überwunden und eine gemeinsame Kultur und Sprache geschaffen werden.
In "Das Projekt am Laufen halten" (g+) haben wir erklärt, wie Arbeit mittels des Wertestroms teamübergreifend durch eine Organisation stets weiterfließen sollte. Dies beschreibt den ersten der "Three Ways" im Kontext von Lean Manufacturing, einer Methodik, die darauf abzielt, die Reibung in der Produktion von physischen Gütern zu minimieren und den Wert für den Kunden zu maximieren. In diesem Artikel geht es um Kunden-Feedback-Schleifen – wie sie praktisch umgesetzt werden, warum sie gut für Projekte sind und auch das Wohlbefinden der Kollegen fördern.
Die Implementierung von Feedback-Mechanismen ist der zweite der “Three Ways”. Während die Arbeit innerhalb des Wertestroms stets vorwärts fließen sollte, darf die Optimierung des Wertestroms nicht außer Acht gelassen werden. Feedback-Schleifen ermöglichen es, Probleme zu identifizieren und zukünftige Herausforderungen besser vorherzusagen. Diese Praktiken bauen auf dem Grundprinzip auf, den Wertestrom als Ganzes stets im Blick zu behalten und durch direktes, effektives Feedback zu optimieren. Die Implementierung solcher Feedback-Mechanismen erfordert eine Kombination aus technologischer Innovation und kultureller Anpassungen innerhalb der Organisation. Doch wie genau können Feedback-Schleifen in die Praxis umgesetzt werden?
Schaffe Telemetrie um den Wertestrom zu messen
Die seit 2014 laufende DORA Studie, die von der Google Cloud Research Group durchgeführt wird, sammelt jährlich Daten von über 35.000 Unternehmen und Teilnehmern. Die Wissenschaftler haben vier Faktoren identifiziert, die im Zusammenhang mit wirtschaftlichem Erfolg, Produktivität, Zufriedenheit mit der Arbeit und einer geringen Burnout-Rate im Team stehen. Hierbei gruppierte die Studie die Teilnehmer in Teams mit hohem, mäßigem und niedrigem Erfolg.
Die vier Metriken sind:
Deployment frequency: Wie häufig werden Releases durchgeführt?
Lead time for changes: Wie lange dauert es, bis eine Änderung für den Kunden sichtbar ist?
Change failure rate: Wie oft muss ein Release rückgängig gemacht werden oder ein Fix bereitgestellt werden?
Failed deployment recovery time: Wie lange dauert es, bis ein Fehler behoben wurde?
Wie oft ein Release bereitgestellt wird, kann ein Indikator dafür sein, wie selbstbewusst ein Team in seiner Arbeit ist. Teams, die häufig Releases bereitstellen, sind grundsätzlich sicherer und zufriedener mit ihrer Arbeit.
Die Studie zeigt, dass Teams mit hohem Erfolg Releases nach Belieben bereitstellen, oft mehrmals täglich. Teams mit weniger Erfolg spielen Releases in der Regel seltener aus. Der Erfolg eines Teams bemisst sich hier an Faktoren wie der Produktivität, der Zufriedenheit der Mitarbeiter, der Qualität der Software und der Geschwindigkeit der Problemlösung.
Verkürze die Zeit zwischen Code und Kunde
Die DORA-Metriken zeigen, dass ein schnellerer und fehlerfreier Release-Prozess den Erfolg eines Teams maßgeblich beeinflusst. In diesem Zusammenhang ist das schnelle Feedback entscheidend, um schnell auf Marktanforderungen und Kundenwünsche reagieren zu können.
Eine Änderung am Code generiert erst Feedback, wenn sie beim Kunden angekommen ist. Um diesen Prozess zu beschleunigen, kann es helfen, feste Release-Termine durch kontinuierliche Bereitstellungen von Features zu ersetzen. Das kommt den Entwicklungsteams zugute, die durch kürzere Zyklen schneller reagieren und Fehler beheben können. Zudem wird die Lead Time for Changes verkürzt.
Dies erfordert viel Vertrauen von den Teamleitern und den Stakeholdern, das durch Code-Reviews, automatisierte Tests und Feature Flags kontinuierlich gestärkt wird.
Feature Flags ermöglichen es, Code gezielt an bestimmte Nutzergruppen auszurollen. Hierbei wird das Feature bereits in das Produkt integriert, aber hinter einer "Schranke" für den Großteil der Nutzer versteckt. So kann das Feature bereits im laufenden Betrieb getestet und verfeinert werden, bis es bereit für die große Masse ist.
Sollten nach Aktivieren des Features Fehler auftreten, lässt sich das schnell rückgängig machen. Das wirkt sich positiv auf die Failed Deployment Recovery Time aus, was wiederum das Vertrauen für häufigere Releases stärkt.
Integriere Kundenfeedback in den Wertestrom
Durch direkte Integration von Kundenfeedback versteht das Team in Echtzeit, wie sich Änderungen am Code auf den Kunden auswirken. Moderne Technologien und Plattformen ermöglichen es, direktes Feedback von Kunden unmittelbar nach der Veröffentlichung eines Features oder einer Änderung zu erhalten. Das kann durch interaktive Elemente innerhalb der Anwendung, wie Pop-up-Umfragen oder Feedback-Buttons, realisiert werden.
Die Sammlung von Echtzeit-Feedback ermöglicht es Teams, schnell auf Benutzerbedürfnisse zu reagieren und Probleme zu identifizieren, bevor sie sich negativ auf die Benutzererfahrung auswirken. Durch das Monitoring von Nutzungsmustern und das direkte Einholen von Benutzermeinungen können Entwickler und Betriebsteams die Anwendungsleistung in realen Szenarien verstehen und entsprechend anpassen.
Die DORA-Studie bestätigt, dass agile Teams durch die Einbindung von Kundenfeedback agiler handeln und ihre Entwicklungszyklen so anpassen können, dass sie eng mit den Bedürfnissen und Erwartungen der Kunden übereinstimmen. Dies trägt dazu bei, die Kundenzufriedenheit zu erhöhen und gleichzeitig das Vertrauen in die angebotenen Produkte und Dienstleistungen zu stärken.
Agile Entwicklung fördert Teamgesundheit und Projekterfolg
Die Einführung agiler Entwicklungspraktiken wie häufige Releases, schnelle Feedback-Schleifen und die Integration von Kundenfeedback bildet die Grundlage für den Erfolg moderner Softwareprojekte. Teams, die diese Methoden anwenden, berichten laut DORA-Studie nicht nur eine nachweisliche Verbesserung der Produktqualität, sondern auch eine erhöhte Zufriedenheit und weniger Burnout.
Durch die kontinuierliche Verbesserung des Wertestroms und die enge Einbindung von Kundenfeedback wird eine reaktionsfähige und adaptive Umgebung geschaffen, die sowohl die Kundenbedürfnisse als auch das Wohlbefinden der Teammitglieder berücksichtigt.
Es ist wichtig zu erkennen, dass die Implementierung dieser Praktiken eine schrittweise Veränderung erfordert, die mit dem aktuellen Stand des Projekts kompatibel ist. Beginne mit kleinen, aber entscheidenden Schritten. Evaluiere die aktuellen Prozesse, führe gezielte Änderungen durch und messe deren Auswirkungen. Durch das schrittweise Einführen von Änderungen wird sichergestellt, dass sowohl das Team als auch die Stakeholder die Vorteile dieser neuen Praktiken verstehen und unterstützen.
Durch kontinuierliche Verbesserungen und das Engagement für Transparenz und Feedback kann nicht nur die Kundenzufriedenheit gesteigert werden, sondern auch ein Arbeitsumfeld geschaffen werden, das Innovation fördert und Burnout vermeidet.