Das richtige Umfeld für agile Methoden

DevOps-Erfolg ist eine Frage der Kultur

07.11.2018
Von 
Martin Klapdor ist als Senior Solutions Architect beim Business-Assurance-Anbieter Netscout in der CTO Organisation für mobile Daten- und Sprachdienste sowie für Virtualisierung verantwortlich.
Viele DevOps-Projekte sind nicht von Erfolg gekrönt. Laut Enterprise DevOps Survey 2017 räumten acht von zehn CIOs ein, dass ihre DevOps-Initiativen bislang gar nicht oder nur teilweise erfolgreich verliefen. Mit Schuld daran ist oft die Kultur in den betroffenen Unternehmen.

Im Wettlauf um die Digitalisierung sind agile Entwicklungsmethoden und vor allem der DevOps-Ansatz zu einem wichtigen Bestandteil in IT-Abteilungen geworden. So halten 88 Prozent der Unternehmen in Deutschland laut Umfrage des Softwareunternehmens CA Technologies agile Methoden und DevOps-Praktiken für erfolgsentscheidend bei der Digitalen Transformation. Vor allem die schnellere Entwicklungszeit von Software und Services stehen im Mittelpunkt von DevOps-Initiativen. Daneben verfolgen Unternehmen auch Ziele wie einen höheren Automatisierungsgrad, eine schnellere Marktreife und eine bessere Qualität von Services sowie geringere Investitions- und Betriebskosten. Dennoch haben bisherige DevOps-Projekte nicht den erhofften Erfolg gebracht. Laut Enterprise DevOps Survey 2017 geben acht von zehn CIOs an, dass ihre DevOps-Initiativen bislang gar nicht oder nur teilweise erfolgreich verliefen.

Damit die DevOps-Schleifen gut funktionieren, braucht es neben der Technik vor allem die richtige Kultur im Unternehmen.
Damit die DevOps-Schleifen gut funktionieren, braucht es neben der Technik vor allem die richtige Kultur im Unternehmen.
Foto: Kalakruthi - shutterstock.com

Entwickler-Teams sollen neue Funktionalitäten und somit neue Software-Releases in hoher Geschwindigkeit bei höchstmöglicher Qualität und ohne Ausfallzeiten produzieren - Stichwort: Continuous Delivery. Möglich machen soll dies der Prozessverbesserungsansatz DevOps. Damit sollen sich einzelne Abläufe, genutzte Tools, Infrastruktur und alle beteiligten Mitarbeiter optimal aufeinander abstimmen lassen. Maximal optimiert, soll es der DevOps-Ansatz so möglich machen, mehrfach tagesaktuelle Software-Updates zu liefern.

Entscheidend dabei ist, dass das Entwickler-Team Hand in Hand mit dem Operations-Team (Ops, IT-Betrieb) zusammenarbeitet. Denn bei der Auslieferung neuer Releases treten typischerweise Spannungen zwischen beiden Teams auf. Während Developer darauf bedacht sind, dem Endnutzer neue Funktionen so schnell wie möglich zur Verfügung zu stellen, ist das Ops-Team primär auf Stabilität und das Minimieren von möglichen Ausfallrisiken mit Blick auf das gesamte IT-System fokussiert.

Lesen Sie mehr zum Thema DevOps:

Doch das Tempo, in dem digitale Services entwickelt und vom Nutzer gefordert werden, hat sich um ein Vielfaches erhöht – und wird durch die zunehmende Automatisierung noch zusätzlich befeuert. Darüber hinaus verstärkt der Paradigmenwechsel des DevOps-Ansatzes dieses Chaos noch weiter: lautete die Prämisse früher, ausfallsichere Anwendungen bereitzustellen, ist heute primär eine "safe-to-fail" Produktionsumgebung erforderlich. Sowohl die Tempoerhöhung im laufenden IT-Betrieb als auch der Paradigmenwechsel stellt IT-Operation-Teams vor große Herausforderungen – und führt folglich oft zu einem sprichwörtlich erhöhten Daten- und Verwaltungs-Chaos in Produktionsumgebungen.

Kulturelle Aspekte entscheiden über Erfolg oder Misserfolg

Eine enge Zusammenarbeit und Kommunikation zwischen den für die Service-Entwicklung und -Bereitstellung zuständigen IT-Teammitgliedern wird somit unerlässlich. Doch genau an dieser Stelle hapert es oft. So sind es vor allem kulturelle und kommunikative, weniger die technologischen Aspekte, warum DevOps-Ansätze scheitern. Bedenkt man zusätzlich, dass neben DevOps-Mitarbeitern auch SecOps, Quality-Assurance (QA), Systemarchitekten, DBAs, NetOps und Helpdesk beteiligt sind, erhöht sich das Potenzial für eine mögliche Fehlkommunikation weiter.

Diesem Aspekt wird auch bei der Messung des Reifegrads von DevOps-Initiativen eine hohe Bedeutung beigemessen. Ähnlich den Prinzipien des Software Capability Maturity Model (SW-CMM) und des vom Software Engineering Institute (SEI) der Carnegie Mellon Universität eingeführten IDEAL-Modells wird die Reife von DevOps demnach durch zwei Schlüsselattribute beeinflusst. Beide sind für das reibungslose Funktionieren einer DevOps-Organisation entscheidend.

  1. Das erste Schlüsselattribut ist die kulturelle Dimension. Die Herausforderung besteht darin, dass jedes Team – ob IT-Betrieb, QA- oder Entwickler-Team – naturgemäß eigene, spezifische Zielsetzungen verfolgt. So fokussieren sich Developer meist auf die Anzahl der Releases, die kontinuierlich erstellt werden können. Das QA-Team testet hingegen Anwendungsszenarien, wobei die Ausfallsicherheit des gesamten IT-Betriebs für das Ops-Team die höchste Priorität hat. Ist also eine DevOps-Organisation noch nicht entsprechend zusammengewachsen, konzentrieren sich die jeweiligen Teams eher auf die Optimierung ihrer eigenen Bereiche und eingesetzten Technologien wie Versionskontrollmanagement, kontinuierliche Integration, automatisiertes Testen, Deployment und Konfigurationsmanagement.

  2. Das zweite Schlüsselattribut für den DevOps-Reifegrad ist der Grad der Transparenz innerhalb einer Organisation – und zwar darüber, welche Technologien eingesetzt werden.