DevOps-Implementierung: die ersten Schritte zum Erfolg

Ihr Unternehmen wächst und Sie möchten DevOps implementieren? Sie wissen jedoch nicht, wo Sie beginnen sollen? Dann ist dieser Artikel die ideale Lektüre für Sie. Er zeigt die grundlegenden Unterschiede zwischen traditioneller Software-Entwicklung und DevOps auf. Ebenso beleuchtet er die ersten Schritte der DevOps-Einführung.

Beginnen wir mit einer einfachen Definition. Im Wesentlichen geht es bei DevOps darum, die Barrieren zwischen Mensch, Technologie und Bereitstellungsprozessen abzubauen, sodass die drei Bereiche effektiv zusammenarbeiten können. Wenn Sie DevOps in Ihrem Unternehmen einführen möchten, müssen sie diese drei kritischen Elemente (Menschen, Technologien und Prozesse) auf die bevorstehenden Veränderungen vorbereiten.

Doch woher wissen Sie, wann der Punkt erreicht ist, an dem Sie nicht mehr an einer DevOps-Implementierung vorbei kommen?

DevOps Implementation Strategy: Wann ist der richtige Zeitpunkt für die Umsetzung?

Laut Atlassian haben im Zeitraum 2017 bis 2020 doppelt so viele Unternehmen von DevOps profitiert als in den fünf Jahren davor. Angesichts einer solch rasanten Zunahme der DevOps-Akzeptanz stellt sich die Frage nach dem „wann“ eindeutig nicht mehr. Denn der richtige Zeitpunkt ist jetzt!

DevOps practices

Traditionelle Software-Entwicklung vs. DevOps

Wie gut schneidet DevOps im Vergleich zur traditionellen Vorgehensweise ab? Die Antwort aus der Praxis lautet: hervorragend. Laut Atlassian verzeichnen 99 Prozent aller Befragten eine positive Auswirkung des Ansatzes auf ihr Unternehmen. 

Die Beliebtheit von DevOps steigt kontinuierlich, hat ihren Höhepunkt jedoch noch immer nicht erreicht. Vor diesem Hintergrund wirkt der traditionelle Software Development Lifecycle (SDLC) mittlerweile etwas angestaubt. Sehen wir uns im Folgenden an, woran das liegt.

pre DevOps
Table 1. Old school SDLC vs. DevOps: the key differentiating points

Der klassische Software Development Life Cycle (SDLC)

In der Zeit vor DevOps existierten in Unternehmen meist separate Abteilungen für die Entwicklung, Tests und Implementierung von Software. Der Projekterfolg war daher stark von einer effektiven abteilungsübergreifenden Zusammenarbeit abhängig. Besonders herausfordernd waren solche Szenarien, wenn ein Teil des Software-Betriebs an Drittanbieter ausgelagert wurde.

Früher existierte nur eine einzige Staging-Umgebung, in der sämtliche Vorbereitungen für eine neue Software-Version getroffen wurden. Nach der Bereitstellung in der Produktivumgebung traten regelmäßig Merge-Konflikte auf. Dies wiederum führte zu unregelmäßigen und langen Release-Zyklen mit einer hohen Fehlerwahrscheinlichkeit nach der Bereitstellung.

Ein prominenter Fall aus der Zeit vor DevOps ereignete sich 2011. In diesem Jahr veröffentlichte Facebook seine Timeline-Funktion. Damals war eine schrittweise Veröffentlichung nicht realisierbar, sodass die Funktion für alle Benutzer gleichzeitig zur Verfügung stand. Im Ergebnis probierten 500 Millionen Anwender zur selben Zeit die neue Funktionalität aus, was zu einem erheblichen Serverausfall führte. Hätte Facebook die Bereitstellung auf einen längeren Zeitraum verteilt, wäre mehr Zeit geblieben, um Feedback zu sammeln und eine mögliche Spitzenlast vorherzusagen.

DevOps

Beim DevOps-Ansatz sind alle Abteilungen gleichermaßen für das Freigabeverfahren verantwortlich. Dies führt zu einer Kultur der Offenheit, Verbundenheit und engen abteilungsübergreifenden Zusammenarbeit. Individuelles Silo-Denken wird durch Teamgeist ersetzt. Zwar kann der Umgang mit Drittanbietern auch in diesem Szenario eine große Herausforderung sein. In lockerer, offener Atmosphäre gestaltet sich die Zusammenarbeit mit Externen jedoch im Allgemeinen effektiver als in Umgebungen, die durch strenge Richtlinien und Regularien geprägt sind.

Die drei DevOps-Methoden kontinuierliche Integration (Continuous Integration), kontinuierliche Bereitstellung (Continuous Deployment) und kontinuierliche Auslieferung (Continuous Delivery) stellen sicher, dass Unternehmen stets über einen einsatzbereiten Deployment Build verfügen. Alle Softwareänderungen werden automatisch zusammengeführt, getestet und in einer Produktionsumgebung bereitgestellt. Hierbei entsteht ein deutlich geringerer Aufwand für die Koordination der verschiedenen Abteilungen als beim klassischen Vorgehen.

Ein wichtiges Merkmal von DevOps ist zudem das agile Mindset. So ermöglicht die Scrum-Methodik eine höhere Frequenz von Produktfreigaben – auch in ungeplanten Fällen. Sämtliche Änderungen sind versioniert und können schrittweise implementiert werden.

Ein sehr bekannter Befürworter von DevOps ist beispielsweise der Software-Hersteller Adobe. Im Jahr 2016 wechselte der Anbieter von On-Premise-Software zu einem SaaS-Subscription-Modell. Hieraus ergaben sich Probleme, die der Hersteller bis zu diesem Zeitpunkt noch nie erlebt hatte. Um den neuen Herausforderungen zu begegnen, entschied sich Adobe für den Einsatz einer CloudMunch-Plattform. Diese ermöglichte es, die Frequenz der Implementierung zu steigern. Im Ergebnis konnten die Entwicklungsanforderungen um erstaunliche 60 Prozent besser abgedeckt werden.

DevOps Implementation Plan: So gelingt der Einstieg

Wenn Sie sich für eine DevOps-Implementierung in ihre Geschäftsprozesse entscheiden, sollten sie zunächst einen DevOps Implementation Plan – also eine Roadmap für das weitere Vorgehen – entwickeln. Beginnen Sie hierbei mit grundlegenden, greifbaren Aspekten wie beispielsweise den folgenden:

  • Allgemeiner Überblick über die Release-Pipeline;
  • Prioritäten und Verantwortlichkeiten des Teams;
  • Wie werden Ergebnisse gemessen und kommuniziert?

roadmap for devops

Der DevOps Implementation Plan kann als Bezugspunkt für Stakeholder genutzt werden. Er hilft Ihnen außerdem dabei, die Effektivität der Zusammenarbeit zwischen Entwicklung und Betrieb besser beurteilen zu können. Ebenso beleuchtet er, inwiefern die internen Prozesse Verbesserungstendenzen aufweisen.

DevOps Implementation Strategy: Welche kulturellen Veränderungen sind für die Einführung notwendig?

Nachdem Sie einen DevOps Implementation Plan entwickelt haben, müssen Sie sicherstellen, dass Ihr Team in kultureller Hinsicht für dessen Umsetzung bereit ist. Das wesentliche Ziel dieses Veränderungsprozesses besteht darin, vorhandene Denkmuster zu durchbrechen und Menschen zu verbinden. Hierfür gibt es mehrere Möglichkeiten:

  • Ermutigen Sie die Mitarbeiter, persönliche Verbindungen aufzubauen. Menschen kooperieren eher, wenn sie sich kennen. Stellen Sie also sicher, dass alle Beteiligten Kontakte knüpfen, und beschränken Sie Ihre Teambuilding-Aktivitäten nicht auf einzelne Abteilungen.
  • Etablieren Sie Empathie und einen Prozess des Wissensaustauschs. Wenn Mitarbeiter die Aufgaben und Arbeitsinhalte ihrer Kollegen in anderen Bereichen verstehen, entsteht gegenseitiger Respekt und Wertschätzung. 
  • Stellen Sie geeignete Kommunikationsmittel bereit, denn oftmals sind minderwertige, unkomfortable Tools ein Grund für unzureichende Kommunikation. Investieren Sie stattdessen in effektive Kollaborationslösungen wie Slack, welche die Zusammenarbeit und den Informationsfluss erheblich verbessern können. 
  • Organisieren Sie regelmäßige Abstimmungsrunden und Stand-up-Meetings. Hier müssen nicht alle Teammitglieder einbezogen werden. Ziehen Sie stattdessen die Führungskräfte der jeweiligen Abteilungen (Leiter von Entwicklung und Betrieb) hinzu.
  • Unterstützen Sie Ihre Teams beim Formulieren von Business Stories und Aufgaben. Es sollte sichergestellt sein, dass die Mitarbeiter ihre Anforderungen klar beschreiben können. Hierdurch gestaltet sich die Kommunikation zwischen den Abteilungen effektiver. 
  • Verfolgen Sie den Gedanken der Meritokratie. Eine Kultur offener Kommunikation ohne negative Bewertung von Beiträgen fördert die kollektive Verantwortung und ermutigt die Mitarbeiter, ihre Ideen offen zu äußern. Insgesamt sollten immer die besten Ideen umgesetzt werden – unabhängig von der Persönlichkeit des Ideengebers.

Now that you have established a DevOps implementation plan with clear values, it’s time to put them to good use. The Nachdem Sie nun einen DevOps Implementation Plan mit klaren kulturellen Werten erstellt haben, sollten Sie zeitnah mit der Umsetzung beginnen. Das bekannte Fachbuch „The Phoenix Project“, welches sich mit der DevOps-Implementierung beschäftigt, rät in diesem Kontext dazu, kritische Selbstreflexion und kontinuierliches Lernen in den kulturellen Transformationsprozess zu integrieren.

Fazit: DevOps-Implementierung ist mehr als eine organisatorische Änderung

DevOps nimmt Fahrt auf und es ist noch keineswegs zu spät, auf diesen Zug aufzuspringen.

Die Umsetzung einer DevOps-Strategie bedeutet allerdings weitaus mehr, als nur Pipelines für die Software-Bereitstellung zu verändern. Vor allen Dingen ist es das Mindset, das die zentrale Rolle spielt. Wir empfehlen, einen DevOps Implementation Plan mit den wesentlichen Schritten zu definieren und gleichzeitig mit ersten, einfachen kulturellen Veränderungen zu beginnen. Denn zu viele Neuerungen in einem Schritt könnten die Organisation überfordern.

Sie benötigen Unterstützung bei dieser Aufgabe? Dann nehmen Sie gerne Kontakt mit uns auf! Gemeinsam entwickeln wir eine DevOps Implementation Strategy, die zu Ihren Anforderungen passt.

Artikel jetzt teilen