Trotz des Aufstiegs von Low-Code-/No-Code-Softwareplattformen und der Bemühungen führender Softwareanbieter, ihre wachsenden Produktportfolios zu vereinfachen, zeichnet sich bei der überwiegenden Mehrheit aller Bereitstellungen von Unternehmenssoftware generell ein Bild vernetzter Komplexität und Verschachtelung ab.
Tatsache ist: Die moderne Softwareentwicklung ist komplexer denn je. Ein einzelnes Unternehmensprojekt kann Dutzende Stakeholder und Hunderte von APIs umfassen.
Mit DevOps (Entwicklung und Betrieb) können Entwicklungs- und Betriebsteams jedoch Arbeitslasten und Ergebnisse in einer gemeinsamen Anstrengung zusammenführen. Da sich WebOps nun als stärker auf Webteams ausgerichtete Variante der ursprünglichen DevOps-Arbeitsmethodik zu DevOps gesellt, können wir vernünftigerweise davon ausgehen, dass IT-Teams in den kommenden Jahren systematischer prozessorientiert arbeiten werden.
Doch selbst wenn Projekte aus dem Ruder laufen und klar ist, dass Teams unter den Belastungen und dem Druck von DevOps leiden, kann die Quelle dieser negativen Energie alles andere als offensichtlich sein. Daher ist Transparenz laut Andrew Davis, Senior Director of Research and Innovation bei Copado, der erste Gesichtspunkt in einer DevOps-Umgebung.
Ohne Transparenz lassen sich Verbesserungen im täglichen Geschäftsbetrieb möglicherweise nur langsam umsetzen oder schwer steuern.
Was bedeutet DevOps-Transparenz?
Um zu bestimmen, was DevOps-Transparenz ist oder wirklich bedeutet, argumentiert Davis, dass eine vollständige Antwort eine Kombination aus Elementen und Aspekten der Softwareentwicklung umfassen muss.
„Diese [Aspekte] können von einem geeigneten Versionskontrollmechanismus und Tools für das Pipeline-Management bis hin zu etwas so Umfassendem wie einer transparenten Unternehmenskultur reichen“, sagte Davis. „Doch ohne den Beitrag all dieser Elemente zur Transparenz verfügt ein Unternehmen schlicht nicht über die Informationen, die es braucht, um die Qualität zu verbessern oder Releases zu beschleunigen.“
Obwohl DevOps weitverbreitet eingeführt wurde und viele IT-Entscheidungsträger angeben, dass ihre Unternehmen DevOps-Praktiken zur Verbesserung der Software eingeführt haben, berichten nicht alle von Erfolgen. Wenn in einer Organisation also DevOps-Probleme auftreten, besteht der erste Schritt darin zu prüfen, an welchen Stellen Transparenz fehlt.
Auch lesen: DevOps: Kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD)
Zentrale Transparenzindikatoren
Copado nennt drei zentrale Indikatoren, die durch DevOps-Transparenz verbessert werden können:
- Übermäßige Abhängigkeit von manuellen Prozessen und Eingriffen: Das manuelle Nachverfolgen von Änderungen führt später zu Problemen, und es ist sehr leicht, eine kleine Änderung vorzunehmen und nicht zu protokollieren. Manuelle Methoden können außerdem kritische Informationen in Silos halten, sodass verschiedene Teams unvollständige oder widersprüchliche Informationen haben – all das beeinträchtigt die Transparenz.
- Unklare Ziele: Gute DevOps-Praktiken sind iterativ und nutzen zirkuläre Feedbackschleifen, um auf das letztendliche Ziel einer überzeugenden Benutzererfahrung hinzuarbeiten. Während der Entwicklung können Teams jedoch das große Ganze aus den Augen verlieren, und unklare Feedbackmechanismen können es erschweren, die richtigen Prioritäten zu setzen und die besten Ziele festzulegen.
- Probleme bei komplexen Zusammenführungen: Continuous Integration (CI) sollte eigentlich eine Lösung für den zeitaufwendigen Prozess der Integration von Änderungen in ein Code-Repository sein. Doch auch CI kann beim Zusammenführen mehrerer komplexer Branches Engpässe verursachen. Vollständige Transparenz über die Pipeline bietet Tools, mit denen sich Branches vereinfachen lassen, sodass auch komplexe Zusammenführungen beherrschbar werden.
„Wie diese drei Bereiche zeigen, erfordert die Herstellung von Transparenz eine koordinierte Anstrengung, und es kann verlockend sein zu denken, dass dies zu viel Aufwand bedeutet“, sagte Davis. „Menschen verschwenden jedoch enorm viel Zeit und Energie, wenn ihnen fehlt, was sie für ihre Arbeit benötigen. Daher lohnt sich die für mehr Transparenz aufgewendete Zeit, weil sie die nötigen Erkenntnisse liefert, um die Arbeit zu erledigen.“
Prozesse, die von DevOps-Transparenz profitieren
Projektplanung
Der Schlüssel zur Sicherstellung der Projektransparenz besteht darin, ein Projekt mit einer angemessenen Planung zu beginnen, die von der Lageeinschätzung über Versionskontrolle, Planungstools, Rückverfolgbarkeit, Prüfbarkeit und Compliance alles umfasst. So wird gewährleistet, dass das gesamte Sichtfeld jederzeit in den Fokus gerückt werden kann.
„Pläne ermöglichen es dem Team, genau zu wissen, was alle Beteiligten mit den bestehenden DevOps-Initiativen erreichen wollen“, sagte Davis. „Ohne Einblick in die erforderlichen Anwendungsfälle und die geplante Arbeit kann es zu Redundanzen, verfehlten Meilensteinen, sich überschneidenden Lösungen, einer schleichenden Ausweitung des Umfangs und vielem mehr kommen.“
Management von Wertströmen
Da sich Wertströme auf den Projektfluss konzentrieren, sollten Unternehmen großen Wert darauf legen, sie zu verstehen und zu steuern. Ein Team muss sowohl den Nutzen als auch das Risiko jedes Projekts verstehen. Ohne Transparenz über die Wertströme können Teams den Arbeitsfluss und die Stellen, an denen diese Vorteile und Risiken auftreten, nicht erkennen.
Systemänderungen
Laut Copado können Systemänderungen von Transparenz profitieren, um Versionskonsistenz sicherzustellen und Beziehungen zwischen Metadaten in der Systemarchitektur klar und verständlich zu machen.
„Transparenz hilft außerdem, Überschreibungen, Metadatenkonflikte und das häufige Einführen [oder Wiederauftreten] von Fehlern zu vermeiden“, sagte Davis.
Darüber hinaus können Projektverantwortliche die potenziellen Auswirkungen von Systemänderungen erkennen, wenn sie die Abhängigkeiten und ihre Verbindungen auf jeder Ebene der Software-Lieferkette zwischen Teams, Systemen und Paketen sowie innerhalb einer Codebasis verstehen.
Leistungsverfolgung
Davis von Copado sagt außerdem, dass die Leistung wohl der wichtigste Aspekt der Transparenz ist, da sie Unternehmen helfen kann, Ursachen von Engpässen, die Arbeitsverteilung und Verbesserungsmöglichkeiten zu erkennen.
„Die Leistungsverfolgung kann sich auf das Team konzentrieren und auf den vier zentralen DevOps-Metriken Vorlaufzeit, Bereitstellungshäufigkeit, Änderungsfehlerquote und Wiederherstellungszeit basieren“, sagte Davis. „Diese geben einen guten Hinweis darauf, wie das Team insgesamt zusammenarbeitet, ergänzt durch eine Bewertung des Durchsatzes des Entwicklungsteams, um die Arbeitskapazität zu verstehen.
„Alternativ kann sich die Leistungstransparenz auf Einzelpersonen konzentrieren. Auch wenn auf Einzelpersonen angewandte, granular aufgeschlüsselte Metriken attraktiv erscheinen mögen, können sie bei der Veränderung von Verhaltensweisen mehr schaden als nutzen.“
Idealerweise basiert die Leistungstransparenz auf dem Team. Bei Bedarf kann das Unternehmen dann Probleme auf individueller Ebene zurückverfolgen.
Auch lesen: NetOps vs. DevOps: Automatisierung für das Netzwerk
So schaffen Sie DevOps-Transparenz
Um Transparenz zu fördern, benötigt ein Unternehmen Tools, die Transparenz und Reproduzierbarkeit über den gesamten Lebenszyklus der Softwareentwicklung hinweg erhöhen.
Es gibt einige Best Practices für mehr Transparenz, mit denen sich der DevOps-ROI (Return on Investment) steigern lässt. Dazu gehört insbesondere die Einführung einer Versionskontrolle.
Versionskontrolle ist eine automatisierte Methode zur Nachverfolgung von Codeänderungen. Aktualisierungen werden in einem unveränderlichen Protokoll festgehalten, auf das Entwickler und Stakeholder bei Problemen zurückgreifen und zu dem sie zurückkehren können. Dieses Protokoll wird zur zentralen, verlässlichen Informationsquelle, auf die Entwickler bei der Verwaltung ihrer Aktualisierungen zurückgreifen können.
Unternehmen sollten außerdem darüber nachdenken, User Stories und Metadaten miteinander zu verknüpfen.
„Wenn ein Unternehmen Änderungen in der Versionskontrolle mit User Stories verknüpft, erhält es eine Erzählung, die erklärt, wer, was, wo, wann und warum geändert hat“, sagte Davis. „Konkret verbindet sie die genaue Änderung, den Zeitpunkt ihrer Vornahme, die Person, die sie vorgenommen hat, den Grund dafür, etwaige weitere Änderungen und das Ziel der Änderung.
„So entsteht eine Geschichte der historischen Änderungen am selben Material.“
Davis empfiehlt Unternehmen außerdem, „die Architektur zu organisieren“, da „unruhige“ Metadaten die Transparenz der Architektur verschleiern können. Häufig besteht eine der schnellsten Möglichkeiten, Architekturprobleme zu erkennen, schlicht darin, sie in Ordnern und Paketen zu organisieren.
Die Bedeutung des Wertstrommanagements für die DevOps-Transparenz
Ein Unternehmen, das die DevOps-Transparenz steuern möchte, muss das Wertstrommanagement (VSM) ermöglichen. Laut dem Copado-Team beginnt das Wertstrommanagement mit der Kartierung.
Bei diesem Ansatz visualisiert das DevOps-Team die Workflows, um zu verstehen, wo Engpässe liegen und warum sie auftreten. Dadurch können Teams Verbesserungen vornehmen, Verschwendung beseitigen und sich auf die stärksten Werttreiber konzentrieren.
Durch die Implementierung einer VSM-Plattform können DevOps-Teams außerdem die Verbindungen und Integrationen zwischen Tools, Anwendungen, SaaS-Lösungen (Software as a Service) und anderen Komponenten an einer zentralen Stelle verstehen.
Eine weitere Möglichkeit für DevOps-Teams, die Transparenz zu verbessern, besteht in der Nutzung von DORA-Metriken. DORA-Metriken messen Vorlaufzeit, Bereitstellungshäufigkeit, Änderungsfehlerquote und Wiederherstellungszeit, um zu prüfen, wie ein Gesamtprozess im Vergleich zu anderen abschneidet. Sie können auf eine Vielzahl von Fragestellungen angewendet werden, um Ergebnisse zu quantifizieren.
Die Einbindung von Wertstrommapping, einer VSM-Plattform und DORA-Metriken verbessert die DevOps-Transparenz und macht Stellen in den Prozessen sichtbar, an denen der Wert feststeckt.
„Transparenz liefert Teams und Führungskräften gleichermaßen die Informationen, die sie benötigen, um ihre Aufmerksamkeit weiter in Richtung Pipeline zu lenken“, sagte Davis. „Dadurch werden Qualität und Bereitstellungsgeschwindigkeit steigen, Innovationen zunehmen und beschleunigt werden und schließlich resiliente Entwicklungsprozesse erreicht.“
Schritte zur Einführung von DevOps
Es scheint die weitverbreitete Annahme zu geben, dass DevOps eine Art Allheilmittel ist, das sich einfach auf Projekte, Teams und alle Formen von Softwareeinheiten anwenden lässt, um irgendeine Art von Verbesserung zu erzielen.
DevOps ist jedoch ein komplexes Bündel von Praktiken, das auf der Transparenz von Geschäftsprozessen beruht, um ordnungsgemäß gesteuert werden zu können. Unternehmen sollten sich dieser Komplexität bewusst sein, bevor sie Schritte zur Implementierung von DevOps in ihren Projekten oder Geschäftsprozessen einleiten.
Weiterlesen: DevOps skalieren: Best Practices