Kulturwandel in der IT DevOps – Reorganisation der Zusammenarbeit

Autor / Redakteur: Nabil Bousselham * / Stephan Augsten |

Software-Entwickler und IT-Betrieb begraben das Kriegsbeil: DevOps gelingt es, den strukturellen Konflikt zwischen den beiden Gruppen zu lösen. Dieser Beitrag beleuchtet, wie der kulturelle Wandel aussehen kann.

Anbieter zum Thema

Um von DevOps zu profitieren, müssen Entwickler und Admins lernen, mit- und nicht gegeneinander zu arbeiten.
Um von DevOps zu profitieren, müssen Entwickler und Admins lernen, mit- und nicht gegeneinander zu arbeiten.
(Bild: Peggy_Marco - Pixabay.com / CC0 )

Was als Graswurzel-Initiative startete, feiert mittlerweile selbst in Großkonzernen Erfolge: Laut einer Studie der Branchenanalysten von Gartner organisieren bereits mehr als ein Viertel der 2.000 größten Unternehmen der Welt ihre IT nach den Prinzipien von „DevOps“. Das Kofferwort setzt sich aus den Worten „Development“ (Software-Entwicklung) und „Operations“ (IT-Betrieb) zusammen und drückt damit bereits sehr genau aus, worum es geht: Beide Abteilungen sollen in Zukunft enger zusammenarbeiten.

Der Stein des Anstoßes

Um DevOps zu verstehen, ist zunächst etwas Konfliktforschung vonnöten. In vielen Unternehmen sind die Unternehmensbereiche Software-Entwicklung und IT-Betrieb klar voneinander getrennt: Sie sitzen in unterschiedlichen Büroräumen, essen in der Kantine an unterschiedlichen Tischen und sprechen nur dann miteinander, wenn es sich nicht vermeiden lässt.

Im Grunde folgen sie aber dennoch einer gemeinsamen Mission: Die Entwickler programmieren die Anwendungen, der IT-Betrieb liefert sie an die Endnutzer aus. Flankenschutz erhalten beide Gruppen von den Mitarbeitern der IT-Sicherheit, die Anwendungen und Daten gegen Cyberangriffe absichern. Was im ersten Moment nach einem simplen, leicht zu managenden Prozess klingt, ist in Wirklichkeit ein ständiger Quell von Konflikten. Sie entstehen immer dort, wo abweichende Zielsetzungen der Beteiligten aufeinanderprallen.

  • Aufgabe der Entwickler ist es, unter größtem Zeitdruck neue Features und Funktionen umzusetzen. Geschwindigkeit ist für sie das wichtigste Kriterium, denn die Entwicklerteams von Konkurrenzprodukten schlafen nicht. Wer zuerst mit einem neuen Feature am Markt ist, gewinnt ein gutes Verkaufsargument. Wer ein neues „Must-have“ hingegen nicht anbieten kann, verliert Kunden. Entsprechenden Druck üben Unternehmensentscheider auf ihre Entwicklungsabteilung aus.
  • Der IT-Betrieb hingegen versucht, die Verfügbarkeit und das Funktionieren von Anwendungen zu gewährleisten. Auch auf dieser Abteilung lastet Druck: Wenn kritische Ressourcen ausfallen, kommen wichtige Geschäftsprozesse zum Stillstand – Ausfallzeiten kosten aus diesem Grund schnell ein Vermögen. Die oberste Anforderung des IT-Betriebs an Software-Releases ist dementsprechend nicht Geschwindigkeit, sondern größtmögliche Stabilität und Freiheit von Fehlern.

Während die Entwickler also am liebsten ein Release nach dem anderen in die Produktivumgebung entlassen würden, tritt der IT-Betrieb auf die Bremse und mahnt zu mehr Sorgfalt und gründlicherer Planung. Daneben pochen auch die Mitarbeiter der IT-Sicherheit zuweilen auf ein bedachteres Vorgehen: Sie überblicken den gesamten Software Development Life Cycle (SDLC) und wollen in erster Linie gewährleisten, dass Anwendungen und Daten gegen die Attacken von Cyberkriminellen geschützt sind.

Alle Beteiligten versuchen, ihre spezifischen Aufgaben so gut es geht zu erledigen und die Erwartungen ihrer Vorgesetzten bestmöglich zu erfüllen. Die gegenläufigen Prioritätensetzungen sorgen deshalb regelmäßig für Konflikte. Darunter leidet einerseits das Arbeitsklima: Im Falle von Problemen kommt es schnell zu gegenseitigen Schuldzuweisungen. Der IT-Betrieb unterstellt der Software-Entwicklung mangelnde Sorgfalt, während die Entwickler ihren Kollegen vorwerfen, den SDLC unnötig auszubremsen.

Andererseits sind solche Zustände aber auch denkbar ungeeignet, den gewachsenen Anforderungen an die Software-Entwicklung gerecht zu werden. Unmittelbare Reaktionen auf Ausfälle und Fehler, schnelle Bereitstellungen von neuen Features und Bugfixes sowie die Optimierung komplexer Anwendungen für spezifische Anforderungen der Produktivumgebung erfordern eine enge Zusammenarbeit aller Beteiligten.

Software-Entwicklung als Gemeinschaftsprojekt

Wie lässt sich aus dem Gegeneinander ein Miteinander machen? DevOps verfolgt das Ziel, die beschriebenen Konflikte zu lösen. Dabei geht es einerseits eine technische Aufrüstung, andererseits aber auch um einen Mentalitätswechsel. Das primäre Charakteristikum von DevOps ist eine verstärkte Zusammenarbeit. Um sie zu ermöglichen, bedarf es eines tiefgreifenden kulturellen Wandels. Die folgenden sechs Aspekte sind besonders wichtig:

  • 1. Gemeinsame Verantwortung: Die Zeiten, in denen Entwickler ihren Code über den Zaun warfen und davon ausgingen, dass der IT-Betrieb sich um den Rest kümmert, sollen mit DevOps vorbei sein. Die geteilte Verantwortung für gemeinsame Zielsetzungen in Bezug auf Verfügbarkeit, Sicherheit oder Qualität bedeutet auch, dass Entwickler in das Logging, Monitoring und Alerting einbezogen werden. Bei Problemen und Fehlern müssen sie ein schnelles Troubleshooting unterstützen.
  • 2. Silos aufbrechen: Die oben beschriebene strikte Trennung zwischen Entwicklern und IT-Betrieb hat keine Zukunft. Um die Silos aufzubrechen, bedarf es zum Beispiel abteilungsübergreifender Kommunikationskanäle und regelmäßiger Meetings. Außerdem sollten interdisziplinäre Experten die Rolle von Mittelsmännern übernehmen. Gegenseitige Schulungen helfen, Herausforderungen und Arbeitsweise des jeweils anderen besser zu verstehen.
  • 3. Autonome Teams bilden: Das Konzept autonomer und heterogen zusammengestellter Arbeitsgruppen, die eigenständig an einem bestimmten Prozess oder Produkt arbeiten, existiert schon seit vielen Jahren. Der Hintergrundgedanke: Die Kombination vielfältiger Qualifikationen und Erfahrungen sowie eine hohe Entscheidungsfreiheit im Rahmen der vorgegebenen Aufgabenstellungen setzen Kreativität frei und ermöglichen ein enormes Maß an Effizienz. Auch im Zuge der Umsetzung von DevOps ist die Zusammenstellung von autonomen Teams eine sinnvolle Maßnahme. Sie bringen Entwickler und IT-Verantwortliche dauerhaft an einen Tisch.
  • 4. Systematische Qualitätskontrolle: DevOps sorgt dafür, dass neuer Code wesentlich schneller in die Produktivumgebung wandert als früher. Das ist zunächst mal eine sehr positive Entwicklung, denn neue Features lassen sich so schneller umsetzen und Sicherheitslücken früher schließen. Dies schafft jedoch die Notwendigkeit für eine systematischere Qualitätskontrolle. Spezielle Tools aus der DevOps-Toolchain helfen, ein verlässliches Maß an Qualität sicherzustellen.
  • 5. Feedback-Loops: Feedback-Loops stellen sicher, dass nicht nur die Zusammenarbeit im Team klappt und alle Teammitglieder ein gutes Arbeitsumfeld vorfinden, sondern zielen auch darauf ab, die internen Prozesse und deren Performance zu optimieren. Ziel ist das bestmögliche Produkt.
  • 6. Mehr Automatisierung: Automatisierung ist im Grunde eher ein technischer Aspekt von DevOps. Die richtigen Anreize für mehr Automatisierung zu setzen, ist aber eine kulturelle Herausforderung. Routineaufgaben wie Testing, Konfiguration und Deployment müssen automatisiert werden, um den SDLC zu beschleunigen und das Risiko menschlicher Fehler zu reduzieren. Auch die IT-Sicherheit profitiert von Automatisierungstechnologien: White-Box-Tests etwa helfen, Schwachstellen im Code bereits in der Frühphase der Anwendungsentwicklung zu identifizieren.

Auf dem Weg zu einem neuen Industriestandard

DevOps ist ein problem- und ergebnisorientierter Reformansatz. Er besteht nicht nur aus technischen Neuerungen, sondern birgt auch eine kulturelle Komponente. Die Reorganisation der Zusammenarbeit von Software-Entwicklung und IT-Betrieb zielt darauf ab, die eingangs beschriebenen Konflikte zu lösen, das Arbeitsklima zu verbessern, Entwicklungszeiten zu verkürzen und höherwertigere Software zu produzieren. Grundvoraussetzung sind gemeinsam definierte Ziele und KPIs, auf die sich alle verpflichtet fühlen.

Ist der Kulturwandel in der IT noch aufzuhalten? Weltweit arbeiten bereits 22 Prozent aller Entwickler und IT-Mitarbeiter in DevOps-Teams, so eine Studie von Puppet. Wenn es immer mehr Unternehmen gelingt, sich durch DevOps einen Effizienzvorteil zu verschaffen, dann erhöht sich der Druck auf andere Marktteilnehmer.

Nabil Bousselham
Nabil Bousselham
(Bild: Veracode)

Um wettbewerbsfähig zu bleiben, werden auch anfängliche Skeptiker früher oder später umsteigen müssen. Die Entwicklung könnte also dahingehen, dass DevOps zum neuen Industriestandard wird. Eine weitere Auseinandersetzung mit dem Thema ist deshalb sinnvoll.

* Nabil Bousselham ist seit Juli 2015 als Solutions Architect beim Spezialisten für Anwendungssicherheit Veracode tätig. Bousselham hat Informatik und Physik an der Universität Leipzig studiert und verfügt über mehrere Zertifikate im Bereich Software Engineering der ISQI GmbH und ISSECO CPSSE.

(ID:44731445)