Best Practices für eine erfolgreiche Umsetzung Tipps für DevOps-Strategien im Unternehmen

Autor / Redakteur: Daniel Huchthausen * / Stephan Augsten

DevOps verspicht mehr Flexibilität, eine effizientere und schnellere Produkt- und Softwareentwicklung sowie eine bessere Zusammenarbeit. Damit Unternehmen von dem Mindset profitieren, ist eine erfolgreiche Etablierung das A und O. Diese Tipps helfen bei der Umsetzung.

Firmen zum Thema

DevOps-Strategien können die Mitarbeiter überwältigen und sollten daher iterativ und nicht mit der Brechstange umgesetzt werden.
DevOps-Strategien können die Mitarbeiter überwältigen und sollten daher iterativ und nicht mit der Brechstange umgesetzt werden.
(© Asha Sreenivas - stock.adobe.com)

DevOps liegt im Trend – nicht nur in der Softwareentwicklung, sondern auch als unternehmensweiter Ansatz. Ziel ist es, mit dem effektiven Zusammenspiel von Entwicklung (Development), IT-Betrieb (Operation) und Qualitätssicherung die Kommunikation auf allen Unternehmensebenen zu optimieren und Grenzen zwischen den Abteilungen aufzulösen.

All dies soll im Endergebnis eine effizientere Zusammenarbeit gewährleisten. Der Fokus liegt darauf, Produkte mit einer höheren Geschwindigkeit und zugleich in einer besseren Qualität bei niedrigeren Kosten zu entwickeln. Die Implementierung von DevOps in ein Unternehmen ermöglicht es, diesem Anspruch gerecht zu werden.

Der gesamte Entwicklungsprozess – von der Konzeption bis zur Produktion – ist bei DevOps durch eine gesteigerte Flexibilität, einfache Skalierbarkeit und hohe Verlässlichkeit charakterisiert. Zudem besteht mehr Raum für Feedback und Korrekturen, wobei Feedback von Kunden zeitnah berücksichtigt werden kann.

5 Schritte für die erfolgreiche Etablierung von DevOps

Im Kern geht es bei der Einführung von DevOps darum, Rahmenbedingungen für eine lernende Organisation zu schaffen. Der DevOps-Ansatz vereint hierbei Denkweisen, Arbeitsmethoden, Prozesse und Werkzeuge, die den gesamten Produktlebenszyklus umfassen.

Die Umsetzung ist von Unternehmen zu Unternehmen unterschiedlich, da die Ausgangssituation für die Entwicklung eines Produktes variiert. Für die erfolgreiche Implementierung von DevOps sind diese Maßnahmen sinnvoll:

  • Bereitschaft des Unternehmens, diese Herausforderung anzunehmen
  • Priorisieren von Maßnahmen
  • externe Hilfe annehmen
  • DevOps Schritt für Schritt einführen
  • Einsatz agiler Softwareentwicklung und Automatisierung

Unternehmen müssen Herausforderung annehmen wollen

Die Einführung von DevOps inklusive einer agilen Softwareentwicklung ist ein umfangreiches Projekt, das sich nicht von einem auf den anderen Tag umsetzen lässt. Schließlich handelt es sich um eine Denkweise, die auf allen Unternehmensebenen implementiert wird – vom einzelnen Angestellten über alle Abteilungen hinweg bis hin zur Führungsebene.

In der gesamten Firma sollten Bereitschaft und Verständnis dafür vorhanden sein, Änderungen vorzunehmen. Immerhin werden auch scheinbar gut funktionierende Prozesse angepasst, um sie noch effizienter zu gestalten. Das ist eine große Herausforderung, die auf den ersten Blick überwältigend wirken kann. Es ist also wichtig, neben dem übergeordneten Ziel auch die vielen Zwischenschritte auf dem Weg dorthin im Blick zu behalten.

Dabei sollte DevOps jedoch nicht einfach mutwillig in bestehende Strukturen gequetscht werden. Verbesserungen kann es nur geben, wenn die eigenen Prozesse kritisch hinterfragt werden, um Verbesserungspotentiale zu identifizieren. Dafür ist beispielsweise eine Wertstromanalyse gut geeignet.

Mit einer Wertstromanalyse ineffiziente Prozesse aufdecken

Um Ansatzpunkte für Verbesserungen hinsichtlich der Prozessdurchführung zu finden, ist die Wertstromanalyse (Value Stream Mapping) ein geeignetes Werkzeug. Auf diese Weise ist es möglich, ineffiziente und zeitfressende Abläufe zu identifizieren, und diese hinsichtlich Aufwand und Ertrag zu optimieren, um einen Mehrwert zu generieren.

Schwachstellen im Produktzyklus können zum Beispiel das langsame Implementieren von Features, unzuverlässige und fehleranfällige Auslieferungsprozesse, eine späte Entdeckung von Fehlern (was die Qualität des Produkts beeinträchtigt) oder die fehlende Berücksichtigung von Kundenfeedback sein. Die Wertstromanalyse erfolgt dabei schrittweise für jede einzelne Phase im Prozessablauf:

  • 1. Identifizieren von Prozessen/Abläufen
  • 2. Erfassen von Arbeitsaufwand, Wartezeiten, Korrekturschleifen etc. für Prozessschritte von der Anforderungsanalyse bis zur Veröffentlichung
  • 3. Visualisierung der Prozesse
  • 4. Ableiten von Maßnahmen

Externe Hilfe annehmen und Verbesserungspotenzial identifizieren

Allerdings kann es schwierig sein, die eigene Arbeitsweise bzw. die eigenen Unternehmensprozesse kritisch zu hinterfragen – vor allem dann, wenn einhellige Meinung darüber besteht, dass doch alles gut läuft. An dieser Stelle können Außenstehende einen wertvollen Input liefern, um Verbesserungspotenzial in allen Prozessen der Softwareentwicklung zu identifizieren.

Hilfe von außen bietet allerdings keine Patentlösung, da DevOps kein einheitliches Prinzip ist, das für jedes Unternehmen auf die gleiche Weise umgesetzt wird. Vielmehr gilt es, individuelle Stellschrauben zu lokalisieren, um die neue Denkweise in die bestehende Arbeitsweise und -kultur zu integrieren. Eine große Herausforderung bei der Analyse der Prozesse besteht darin, das Feedback als etwas positives zu sehen, um nicht in eine „es ist eh alles schlecht“-Mentalität zu verfallen.

DevOps Schritt für Schritt umsetzen – so klappt es

Die Angestellten spielen eine besondere Rolle, wenn es darum geht, ein Unternehmen auf DevOps umzustellen. Ihnen sollte klar sein, warum das Mindset eingeführt wird und weshalb gewohnte Arbeitsabläufe und Teams anders strukturiert werden. Das Erstellen von Business Cases kann hier sinnvoll sein, um zu belegen, warum eine Verbesserung der Prozesse notwendig ist.

Das bedeutet ebenfalls, dem Team bewusst zu machen, dass die Umsetzung durchaus lange dauern kann. Die Transformation ist nur dann erfolgreich, wenn eine Kultur der Zusammenarbeit etabliert wird. Hierbei gilt es zu beachten, dass nicht gleich alle Unternehmensbereiche umgestellt werden und das gesamte Arbeitsleben durcheinandergebracht wird. Gerade auf Angestellte, die von DevOps nicht überzeugt sind, hätte das eine abschreckende Wirkung.

Vielmehr ist ein iteratives Vorgehen sinnvoll, bei dem einzelne Teile – etwa in Form eines Leuchtturmprogramms – umstrukturiert werden und die Angestellten an das neue Denken und Handeln herangeführt werden. Hierbei können zunächst entweder separate Abteilungen oder kleinere einzelne Teams umgestellt werden.

Unternehmen steht es aber ebenso frei, sich dem größten Problem in ihrem Prozessablauf zu widmen und die Einführung von DevOps genau an diesem Punkt zu starten. Verläuft es hier erfolgreich, kann die Umstellung schrittweise auf weitere Bereiche ausgeweitet werden. Um schließlich eine nachhaltige Wertschöpfungskette zu gewährleisten, ist es unerlässlich, dass vorab Zuständigkeiten und Verantwortungsbereiche geklärt werden. Beispielsweise müssen Verantwortliche bestimmt werden, die das Feedback der Kunden sammeln und an die richtige Stelle weiterleiten.

DevOps mit agiler Softwareentwicklung und automatisierten Prozessen umsetzen

Sind die ersten vier Schritte zur Etablierung von DevOps berücksichtig worden, gilt es, die agile Softwareentwicklung und das Mindset in allen Bereichen des Produktlebenszyklus zu etablieren, um eine funktionierende Software, Kundenorientierung, eine verbesserte Zusammenarbeit und eine flexible Anpassung des Produkts an Änderungen zu gewährleisten.

Die Schaffung einer Continuous-Delivery- oder kurz CD-Pipeline, die den Prozess in der Softwareentwicklung in verschiedene Phasen unterteilt und das stetige Integrieren von Veränderungen ermöglicht, ist hierbei essentiell für die Etablierung von DevOps. Dabei handelt es sich zwar um einen starren, aber sich stets wiederholenden Prozess, der es zu jeder Zeit ermöglicht, Kundenfeedback kurzfristig einfließen zu lassen.

Die Automatisierung von Prozessen sorgt nämlich dafür, dass Abläufe beschleunigt und stabilisiert werden, wodurch Änderungen mit weniger Aufwand umgesetzt werden können. Mittels CD werden Anwendungen fortlaufend automatisch gebaut, getestet und ausgeliefert. Voraussetzung dafür sind umfangreiche automatisierte Tests, die die Sicherheit, Funktionalität, Compliance und Performance sicherstellen.

Die Installation und Konfiguration erfolgt ebenfalls vollkommen automatisiert über entsprechende Tools. DevOps legt außerdem viel Wert auf ein permanentes Monitoring der Prozesse, um Rückschlüsse für Produktoptimierungen ziehen zu können. Sinnvoll ist es, die bestehenden Prozesse um den Bereich IT-Sicherheit (Security) zu einem DevSecOps-Ansatz auszuweiten, um vorzugsweise kritische Sicherheitslücken – zum Beispiel beim Serverless Computing mittels Multi Cloud – schnellstmöglich zu erkennen.

Vorsicht bei der DevOps-Transformation: Diese Fehler gilt es zu vermeiden

Neben den genannten Maßnahmen gibt es auch einige Dinge, die bei der Etablierung von DevOps möglichst vermieden werden sollten. So ist es beispielsweise mit dem Einstellen eines DevOps-Engineer allein nämlich nicht getan. Bei der Implementierung des Mindsets handelt es sich schließlich um einen langandauernden und komplexen Prozess, bei dem alle Mitarbeitenden miteinbezogen werden sollten.

Eine präzise Planung und genaue Überlegungen über gezielte Änderungen sind unerlässlich. Prozesse in der Softwareentwicklung sollten möglichst vereinfacht und, wo es sinnvoll erscheint, automatisiert werden – nicht umgekehrt. Das Einführen neuer Werkzeuge sollte ebenfalls nicht willkürlich und mit dem Gießkannenprinzip erfolgen. Viel wichtiger ist es, Tools gezielt auszuwählen, um Prozesse zu optimieren.

Daniel Huchthausen
Daniel Huchthausen
(Bild: Jan v. Deichen / www.JanDeichen.com)

Damit die Mitarbeitenden die neuen Werkzeuge und Arbeitsweisen anwenden können, sind Schulungen empfehlenswert. Viel wichtiger jedoch: Fehler sind bei DevOps ausdrücklich erwünscht. Statt einen Schuldigen zu suchen, sind Rückschläge als Anreiz zur Verbesserung zu sehen. Nur so wird langfristig Lernbereitschaft und Vertrauen geschaffen.

* Daniel Huchthausen nutzt seine langjährige Erfahrung als IT-Consultant dafür, die komplexen Sachverhalte rund um moderne Softwareentwicklung verständlich zu vermitteln. Die Cloudogu GmbH hat es sich zum Ziel gesetzt, den gesamten Product Lifecycle der Softwareentwicklung durch ein einfach nutzbares Toolset abzubilden, das durch Standardisierung und Automatisierung dazu beiträgt, Software noch effizienter entwickeln zu können. Wie die schrittweise Integration von DevOps in bestehende Unternehmensstrukturen gelingen kann, beschreibt Cloudogu in einem kostenfreien eBook.

(ID:47160957)