Digitale Kultur

Relevanz einer DevOps-Kultur und wie man sie nachhaltig einführt

Das Thema DevOps ist nicht erst seit ges­tern in aller Munde; wer noch nie etwas davon gehört hat, versteckte sich wohl die letzten Jahre gekonnt hinter dem Mond. Im Allgemeinen versteht man darunter das Aufbrechen der Grenzen zwischen Softwareentwicklung und Softwarebe­trieb. Das eigentliche Ziel ist, beide Grup­pen von Spezialisten zusammenzuführen, ein gemeinsames Verständnis für die Ar­beit des anderen zu schaffen und auf eine gemeinsame Vision hinzuarbeiten. Leider verkümmert dieses anspruchsvolle Ziel allzu oft zu einer reinen Tool­ und Tech­nik­ Initiative. Die Herausforderungen der Zusammenarbeit werden häufig vernach­lässigt. Neben den technischen Aspekten spielen das Mindset der Akteure, deren Ar­beitsweise und Ziele jedoch eine weit be­deutendere Rolle. „Wir müssen unbedingt DevOps einführen, das machen jetzt alle!“ (siehe Abbildung 1), „Welche Tools und Li­zenzen brauchen wir dafür?“ So oder so ähnlich könnte es in den Chefetagen ei­niger Softwareschmieden und Unterneh­men mit größeren IT-Abteilungen in den letzten Jahren abgelaufen sein.

Die Verschmelzung von Softwareent­wicklung – „Dev“ – und Softwarebetrieb – „Ops“ – zu cross­funktionalen Teams mit gemeinsamen Zielen und Werten ist da­ bei alles andere als ein Selbstläufer. Mit der Umbenennung von Berufsbezeich­nungen, dem Einstellen von Lead DevOps Engineers und dem Zusammenwerfen von Teams stellen sich in den seltensten Fällen nachhaltige Verbesserungen und Erfolge ein. Warum sollte man sich dann überhaupt mit dem Thema beschäftigen?

Darum geht es nicht ohne DevOps!

Wer nach wie vor nach dem Wasserfallmo­dell, dem Rational Unified Process oder tay­loristischen Ansätzen Software entwickelt, wird schnell an die Grenzen der Wirtschaftlichkeit stoßen. Die rasanten Anforderungs­änderungen am Markt lassen lange, unfle­xible Entwicklungsprozesse nicht mehr zu. Was vor wenigen Jahren, wenn nicht Mona­ten, noch der neueste Schrei war, ist inzwi­schen veraltet oder – schlimmer – bereits zum Sicherheitsrisiko geworden. Zudem erfordern die stetig steigende Komplexität und Erwartungshaltung von Kunden in Bezug auf Umfang, Sicherheit und Qualität neue Wege und Denkweisen. Besonders treffend lässt sich die aktuelle Marktsitua­tion mit dem von Warren Bennis und Burt Nanus geprägten Akronym VUCA, kurz für volatile, uncertain, complex, ambiguous, beschreiben. Als Antwort auf die genann­ten Herausforderungen führte man iterati­ve Entwicklungsprozesse mit agilen Frame­works wie SCRUM, Nexus oder SAFE ein, die schneller zu potenziell einsatzfähigen Software-Versionen führten. Zudem lassen sich unscharfe und häufig ändernde Anfor­derungen viel effektiver mit agiler Arbeits­weise abfedern als durch starre, fest vorge­schriebene Arbeitsschritte. Produktionsreife Inkremente werden nun in Wochen fertigge­stellt und nicht mehr in Monaten oder Jah­ren. Beim professionellen Bereitstellen von Infrastruktur für die Stück für Stück wach­sende Software muss der Betrieb die ent­scheidende Rolle einnehmen. Die Kompe­tenzen beider Bereiche sind nun schon von Beginn eines Software­Projektes gefragt. Es liegt nahe, dass Abteilungen mit hoher Kor­relation möglichst eng zusammenarbeiten sollten, um das bestmögliche Ergebnis zu erzielen. Dabei stellt sich die Frage, warum diese Zweckverbindung nicht ohne weiteres Zutun gelingen kann.

Darum brauchen wir eine DevOps-Kultur!

John Willis, Vorreiter und Visionär im Be­reich DevOps, antwortete in einem Inter­view auf die Frage, was wohl die größte Hürde im Zusammenhang mit DevOps sei, mit: Kultur, Kultur, Kultur [1]. Viele Men­schen stehen Veränderungen in ihrem Arbeitsalltag oft sehr kritisch gegenüber, gerade wenn diese von der Führungsebe­ne ohne klärende Kommunikation diktiert werden. Es fehlt dann häufig der systemi­sche Zusammenhang oder das Verständ­nis, Prozesse zu überdenken, alteingeses­senes über Bord zu werfen und Neues zu akzeptieren. Im Fall von DevOps spielen weitere Faktoren eine wichtige Rolle. Da die Bereiche Entwicklung und Betrieb über lange Zeiträume hinweg koexistiert haben, wuchsen gedankliche Mauern an den Abteilungsgrenzen. Bei Fehlern ist schnell der Schuldige außerhalb des eigenen Verantwortungsbereichs gefunden, der Fokus auf Ursache und Lösung auftretender Proble­me kann dabei schnell verloren gehen. Das sogenannte Silo­Denken lässt sich auf kon­kurrierende Ziele der Bereiche zurückfüh­ren. Während Entwickler stetig neue Funk­tionalitäten liefern, also Systeme ändern, verfolgt der Betrieb den Erhalt von Stabili­tät und Sicherheit, ein klassischer Zielkon­flikt, den es zu lösen gilt (siehe Abbildung 2). Mit Unterstützung der Führungsebene kön­nen gemeinsame Ziele eingeführt und An­passungen der Organisationsstruktur vor­ genommen werden. Die Bereitschaft zur Zusammenarbeit und eine positive inne­ re Haltung gegenüber der neuen DevOps­-Struktur kann allerdings nur von innen, aus den Köpfen der Mitarbeiter heraus entste­hen. Wie kann also eine gemeinsame Ar­beitskultur aussehen?

 

So kann eine DevOps-Kultur aussehen!

Grundlage für eine neue Kultur sind ge­meinsame Werte, geteilte Verantwortung und eine gemeinschaftliche Vision der Ar­beit, ganz nach dem Motto: „You build it, you run it!“ Es dürfen, anders als bei der Wortkreation DevOps, nicht nur Teile von Development und Operations gestrichen und anschließend die Überreste zusam­mengefügt werden. Die Akzeptanz für die jeweils fremde Domäne ist grundlegend und muss in einem beidseitigen Verständnis der Aufgabengebiete münden. Findet ein regelmäßiger Wissenstransfer mit konstruktiver Kritik und kontinuierlichen Feedbackrunden statt, steigt auch die Bereitschaft, die eigenen Fähigkeiten auszubauen und neue Aufgaben zu übernehmen. Während des Kulturwandels verschwimmen die klassischen Entwickler- und Betriebsrollen immer weiter, bis schließlich crossfunktionale Teams etabliert sind. Von ganz allein werden sich diese Vorgänge allerdings nicht einstellen, es bedarf Coaching, um Konfliktpotenziale aufzulösen, alte Denkmuster aufzubrechen und neue Arbeitsweisen zu identifizieren und zu etablieren. Die wichtigsten Werte und Grundprinzipien einer DevOps-Kultur vereinen Kernpunkte bestehender Konzepte wie dem Agilen Manifest, Lean Management und Kaizen. Die Werte Selbstverpflichtung, Mut, Offenheit, Fokus und Respekt werden durch das Prinzip der Vermeidung überflüssiger Tätigkeiten und das Streben nach kontinuierlicher Verbesserung ergänzt. Wie kann eine DevOps-Transformation im Unternehmen gelingen?

 

So gelingt die Einführung einer DevOps-Transformation im Unternehmen!

Die Umstellung auf eine DevOps-Kultur bedeutet für Firmen, Abteilungen und jeden Mitarbeiter einschneidende Veränderungen im Arbeitsalltag. Generell weiß jeder von sich selbst: Veränderungen fühlen sich erst einmal unangenehm an und werden abgelehnt. Versucht man nun per Diktat eine Veränderung herbeizuführen, stößt man oft auf starke Gegenwehr und die erhofften Ziele werden nicht erreicht. Die Erfahrung zeigt hier: Wenn Mitarbeiter nicht mitgenommen werden, können sie jede Transformation scheitern lassen. Aus diesem Grund muss die Einführung einer DevOps-Kultur gut geplant und bewusst begleitet werden. Nach unserer Erfahrung kann eine Transformation zu einer DevOpsKultur nur gelingen, wenn das Management es schafft, eine klare Vision der Ziele zu formulieren und ein ernsthaftes Interesse bei den Mitarbeitern zu wecken. Häufig hilft hierbei eine externe Unterstützung, um die Scheuklappen abzulegen und neue Denkräume zu öffnen. Wie in Abbildung 3 zu erkennen, kann die Transformation dabei in fünf Schritten aufgebaut werden.

Im ersten Schritt gilt es alle nötigen Vorbereitungen für die Transformation zur DevOps-Kultur zu treffen. Dabei geht es darum, der Transformation einen Rahmen zu geben, geeignete Bereiche und Mitarbeiter zu identifizieren und benötigte Trainings durchzuführen. Für diesen Schritt sind etwa 45 Tage einzuplanen. Zunächst muss eine Vision mit dem Management formuliert werden. Dabei sollte die Vision unter anderem folgende Fragen beantworten können:

  • Was sind die Herausforderungen des Unternehmens?
  • Wie hat sich die Situation im Vergleich zur Vergangenheit verändert?
  • Welche Grundlage dafür gibt es?
  • Welche Auswirkungen könnte es für jeden einzelnen Mitarbeiter und das gesamte
  • Unternehmen haben, wenn nicht reagiert wird?
  • Wie kann DevOps bei der Bewältigung der Herausforderungen helfen?
  • Was ist das konkrete Ziel für die Einführung einer DevOps-Kultur?

Häufig wird dem Management bei der Formulierung der Vision auch erst klar, welche Tragweite die Transformation hat, aber auch, welche Potenziale erschlossen werden können.

Ein zweiter wichtiger Aspekt ist die Identifikation geeigneter Projekte oder Produkte, die von einer DevOps-Kultur profitieren werden. Oft wird hierbei der Fehler gemacht, unkritische Bereiche zu nutzen, um das unternehmerische Risiko zu minimieren. Das Problem hierbei ist, dass damit zwar das Risiko, allerdings auch der spürbare Effekt eines Erfolges reduziert wird. Generell lassen sich skeptische Mitarbeiter erst dann überzeugen, wenn sie einen Effekt in ihrem Umfeld bemerken können. Daher ist es wichtig, Produkte und Projekte zu wählen, die genug Aufmerksamkeit innerhalb der Belegschaft haben. Nun existiert eine Vision und ein geeigneter Bereich für die Umsetzung ist identifiziert. Bisher sollten maximal zwei intensive Wochen in enger Zusammenarbeit mit dem Management vergangen sein. Als Nächstes müssen die Personen, welche die Transformation zu einer DevOps-Kultur gestalten sollen und auch wollen, gefunden werden. Gerade der Aspekt des „Wollens“ ist hier, im Sinne der Motivation und Handlungsbereitschaft, sehr wichtig. Hierzu hat es sich bewährt, Werbung für das Vorhaben im eigenen Unternehmen zu machen und eine offene Einladung durch das Management auszusprechen. Grundlage hierfür ist die erarbeitete Vision. Das Ziel ist es, in der verbliebenen Vorbereitungszeit, etwa 30 Tagen, genügend Freiwillige für die Transformation zu gewinnen. Hierfür muss das Thema omnipräsent und an neuralgischen Punkten für die Kollegen sichtbar sein. Bewährte Techniken hierfür sind Newsletter, Artikel im Intranet, Aushänge in Korridoren und an Kaffeemaschinen sowie Gespräche unter Kollegen. In der Regel finden sich in dieser Phase genug motivierte Kollegen, die bereit sind, die Reise auf sich zu nehmen und als Pioniere für das Unternehmen voranzugehen. Nach der Vorbereitung folgt der zweite Schritt, eine Kick-off-Veranstaltung zum Start der gemeinsamen Reise hin zur DevOps-Kultur. Bei diesem Kick-off sollten alle Beteiligten gemeinsam an einem Ort zusammenkommen und die Transformation starten. Für den Kick-off sollten ein bis zwei Tage eingeplant werden. Innerhalb des Zeitraums sollten mindestens folgende Themen adressiert werden:

  • Vorstellung der Vision durch das Management
  • Vorstellung des begleiteten Transformationsprozesses
  • Vorstellung der zeitlichen Planung & Methodik
  • Sammeln von offenen Fragen und Herausforderungen
  • Beantwortung offener Fragen durch das Management
  • Erarbeitung von Lösungen für Herausforderungen durch alle Beteiligten

Je nach verwendeter Methode für die Produktentwicklung kann sich die konkrete Ausgestaltung der Veranstaltung unterscheiden. Es ist oft hilfreich, erfahrene Moderatoren mit an Bord zu haben, damit die Kick-off-Veranstaltung an die konkreten Rahmenbedingungen angepasst werden kann. Nach dem Kick-off der Initiative folgt der dritte Schritt, die begleitete Einführung der DevOps-Kultur. In dieser ersten, etwa 100 Tage andauernden Lernphase geht es darum, dass sich Abteilungen und Teams selbst ausprobieren und das in den Trainings gelernte Wissen anwenden. Dabei entwickeln jeder Mitarbeiter und jedes Team eigene Methoden, die auf die jeweilige Zusammenstellung der Charaktere und die verwendeten Technologien passen. Bei diesem Prozess ist es wichtig, konstant über die Methoden und Werkzeuge zu reflektieren. Dies hilft dabei, die DevOpsKultur und -Prozesse stetig zu verbessern sowie zu festigen. Zusätzlich fördert der offene Austausch zwischen Dev und Ops ein besseres Verständnis für die Bedürfnisse und Fähigkeiten des Gegenübers. Für die Reflektion während dieser Phase hat es sich bewährt, auf Methoden aus der agilen Werkzeugkiste oder den Liberating Structures [2] zurückzugreifen.

Innerhalb dieser drei Phasen wird eine externe Begleitung der Transformation durch erfahrene Coaches empfohlen. Sie helfen allen Beteiligten dabei, alte Denkmuster zu verlassen und den Lernprozess strukturiert zu gestalten. So wichtig diese Unterstützung für die Vorbereitung und Einführung der DevOps- Kultur auch ist, irgendwann muss die Betreuung enden und die neu gebildeten Strukturen müssen beweisen, dass sie autonom existieren können. Den Übergang hierzu stellt der vierte Schritt dar, eine moderierte Retrospektive über die Lernphase der vergangenen 100 Tage. Wie beim Kick-off zuvor kommen für diese Veranstaltung alle Beteiligten für einen Tag an einem Ort zusammen. Während dieses Tages sollen Erfolge gefeiert, Gelerntes reflektiert und bestehende Herausforderungen gemeinsam gelöst werden. Als weiterer Themenpunkt muss noch einmal klar gemacht werden, dass die intensive Betreuung der Coaches zu diesem Zeitpunkt endet. Diese klare Kommunikation stellt ein Übergangsritual für alle Beteiligten dar. So wird gewährleistet, dass ein Umdenken in den Köpfen stattfindet und die Coaches nicht als Sicherheit immer im Hintergrund stehen. Nach dem Übergangsritual geht die Transformation über in den fünften und letzten Schritt. Dabei handelt es sich um einen konstanten Lernzyklus von 100 Tagen mit anschließender Retrospektive zur Weiterentwicklung und Festigung der DevOps- Kultur. Sämtliche Coaches sollten im zweiten Lernzyklus zunächst für 30 Tage anderen Tätigkeiten nachgehen. Dadurch können alle Beteiligten ihre Autonomie akzeptieren und Vertrauen in ihre Methode gewinnen. Nach 30 Tagen können die Coaches zu einzelnen Terminen und Reviews zurückkehren. Dabei werden lediglich Gesundheitschecks der Kultur durchgeführt und Impulse gegeben. Die entstandene Organisation soll allein lebensfähig sein. Aus Erfahrung ermöglicht das beschriebene Vorgehen eine effektive und nachhaltige Einführung einer DevOpsKultur in Abteilungen und Unternehmen. Dabei verstreichen von der Initiierung bis hin zur ersten großen Retrospektive etwa 145 Tage. Anschließend kann das etablierte System gefestigt und bei Bedarf im Unternehmen skaliert werden.

Fazit

Das Thema DevOps ist vielschichtig und bietet verschiedenste Diskussionsebenen. Gerade im Bereich der Zusammenarbeit und Arbeitskultur darf dabei nie vergessen werden, dass es um Menschen und deren Miteinander geht. Entscheidungen auf Papier prägen sich in der Realität anders aus als erwartet. Genau deshalb ist es so wichtig, flexibel reagieren zu können, Beteiligte im Prozess abzuholen, Verständnis zu schaffen und auf ein gemeinsames Ziel hinzuarbeiten. Stimmt die Grundeinstellung der Beteiligten, kann ein Transformationsprozess, wie oben beschrieben, gelingen! Die systematische Einführung von DevOps erzeugt eine Aufbruchsstimmung im Unternehmen, die sich nicht nur in hohem Maße auf die Mitarbeiterzufriedenheit, sondern auch positiv auf wirtschaftliche Kennzahlen auswirkt. Verschließen Sie sich deshalb nicht vor Neuem und bleiben Sie neugierig, denn wer stehen bleibt, hat bereits verloren.

Dieser Beitrag ist in Zusammenarbeit mit Kevin Steinhagen entstanden.

Zuerst erschienen im Red Stack Magazin 04/2020.