Technik, Prozesse und Faktor Mensch Die DevOps-Einführung – der reinste Hürdenlauf

Autor / Redakteur: Jörg Hastreiter * / Stephan Augsten |

Bereits während der Berufsausbildung wird eintrainiert, dass IT aus drei Fachdisziplinen besteht: Software-Entwicklung, Test und Betrieb. Doch die Digitalisierung erfordert eine neue Dynamik in der IT, die mit DevOps-Konzepten erreicht werden kann.

Anbieter zum Thema

Für die Umsetzung von DevOps-Konzepten ist es notwendig, dass die Teams wie Zahnräder ineinander greifen.
Für die Umsetzung von DevOps-Konzepten ist es notwendig, dass die Teams wie Zahnräder ineinander greifen.
(Bild: scattered1 - flickr.com / CC0 )

Zusammenarbeiten oder Überschneidungen der drei Bereiche Development, Testing und Operations wurden bisher wenig beachtet. Über die Jahre verfestigt sich im Unternehmen eine solche Separation, und jede der drei Parteien verfolgt ihr eigenes Ziel:

  • Die Softwareentwicklung betrachtet vorrangig den Geschäftsauftrag und damit die vom Kunden gewünschte Umsetzung oder Änderung von bestimmten Funktionalitäten.
  • Der Betrieb sorgt sich ganz im Kundensinne um Stabilität und Kontinuität.
  • Der Test nimmt in diesem Dreiklang meist die besondere Rolle des Feuerwehrmanns ein, da er zu oft kurz vor Betriebsaufnahme und am Ende einer Entwicklungsphase steht.

Selbst wenn jeder Bereich für sich genommen einen guten Job macht, steht leider nicht selten unter dem Strich ein suboptimales Ergebnis. Das Problem: Der Austausch zwischen den Bereichen funktioniert nicht – von der Kommunikation zwischen den Parteien, über die unterschiedlichen Ziele und Wertvorstellungen, bis hin zu inkompatiblen Prozessen und Tools. Der Leidtragende in diesem Spiel ist letztlich der Auftraggeber. Und um dieses Szenario zu verhindern, kommt genau hier das Thema DevOps ins Spiel.

Team statt Einzelkämpfer

Eines der Hauptziele von DevOps ist es, dass Entwicklung, Test und Betrieb nicht mehr isoliert voneinander, sondern ab Projektinitialisierung konsequent miteinander arbeiten. Indem Unternehmen schon bei der Softwareentwicklung wesentliche Erfordernisse des Betriebs berücksichtigen und die Qualität durch automatisierte Tests sicherstellen, minimieren sie von Anfang an Zielkonflikte.

Die Vorteile, die DevOps mit sich bringt, sind vielfältig: Durch die höhere Agilität und Flexibilität kommt es zu einer schnelleren Markteinführung und -anpassung der Software, da neue Funktionen in kürzeren Time-to-Market-Zyklen hinzugefügt oder geändert werden. Zudem können Innovationen schneller zur Marktreife heranwachsen und Fehler frühzeitig erkannt werden. Firmen verbessern so kontinuierlich die gesamte Wertschöpfungskette.

Vier Hürden, die es zu überwinden gilt

DevOps bringt viele Vorteile mit sich, erfordert aber auch eine gewisse Vorbereitung. Deswegen ist es ganz normal, wenn ein Unternehmen anfangs auf Hürden stößt:

1. Tools und Prozesse

Jede Fachdisziplin hat ihre eigenen, bewährten Werkzeuge für die unterschiedlichen Aufgaben. Die Entwicklung verfügt über gewachsene und spezialisierte Frameworks und Tools (IDEs) für schnelle und agile Softwareentwicklung. Ebenso die Testabteilung, die hunderte Tests mit Unterstützung von spezialisierten Testautomatisierungs-Tools durchführen kann. Oder der Betrieb, der entlang zertifizierter ITIL-Standards mit eigenen Ticket-, Monitoring- und Logging-Plattformen arbeitet.

Jeder Bereich sowie deren Werkzeuge sind hochspezialisiert, auf die eigene Aufgabe angepasst und effizient, aber meist in sich geschlossen. Die Kommunikation zwischen den einzelnen Instanzen ist eines der Hauptprobleme, weil die jeweilig genutzten Systeme nicht miteinander kommunizieren. In der Folge werden beispielsweise Anforderungen, Aufgaben oder Tickets vom Kunden oft in E-Mail-Threats bearbeitet, von einer Excel-Liste in die andere manuell übertragen oder eben von einem System ins nächste.

In vielen Softwareentwicklungsprojekten sind zudem bereits Automatisierungs-Tools für Build und Deployment Standard. Die Installation in der Wirkumgebung findet allerdings unnötigerweise noch in bewährter Handarbeit Schritt für Schritt anhand einer Checkliste durch das Betriebsteam statt.

Standardisierte und integrierte Prozesse und Tools sind eine der Hauptanforderungen, denen sich DevOps widmet. Ist keine einheitliche Lösung möglich, so müssen zumindest die Schnittstellen geschaffen werden, um eine konsistente Kommunikation entlang der gesamten Prozesskette zu gewährleisten. In jedem Fall sollten Unternehmen standardisierte Werkzeuge dort einsetzen, wo es möglich ist, und Prozessschritte im Sinne der Effizienzsteigerung automatisieren.

2. Ziele und Verantwortlichkeiten

Nicht selten schieben Entwicklung, Betrieb und Kunde im Produktivsystem aufgetauchte Fehler Pingpong-artig hin und her. Ein Szenario, das zu immensen Image- und Umsatzverlusten führen kann. Aus diesem Grund müssen auch Agenda und Ziele aller Beteiligten im Sinne der DevOps-Philosophie zusammenrücken.

Klassischerweise verfolgt der Betrieb das Ziel, einen stabilen Wirkbetrieb zu gewährleisten. Jede Software-Änderung oder -Aktualisierung stellt für ihn ein potentielles Risiko hinsichtlich der Stabilität dar. Die Entwicklung auf der anderen Seite sagt: Der Kunde kann nicht ein halbes Jahr warten, bis er die geforderten Änderungen im System hat.

Aufbauend auf einer regelmäßigen Kommunikation braucht es ein Verständnis der einzelnen Abteilungen füreinander sowie der jeweiligen Ziele und Anforderungen. Entscheidungen sollten gemeinsam fallen; mit der kurzfristigen Sicht der Entwicklung, der erprobten Sicht des Testings und der langfristigen Sicht des Betriebs. Ziel sollte sein, dass Entwicklung, Test und Betrieb gemeinsam für das vom Kunden vorgegebene und zu erreichende Ziel verantwortlich gemacht werden.

3. Ressourcen- und Organisationskonflikte:

Gerade mit kürzeren Time-to-Market-Zyklen spielen die Ressourcen eine große Rolle. Sind nicht genug Ressourcen vorhanden – ganz gleich ob Budget, Zeit, Personal, Know-how, methodische und konzeptionelle Kompetenz, Support durch die Führungsebene oder IT-Ausstattung – ist das Ergebnis oft fehlendes Engagement und Resignation. Denn so schön es ist, binnen weniger Tage am Markt zu sein, so aufwändig bleiben hunderte Testfälle, die zunächst durchexerziert werden wollen.

Weiterhin müssen häufige Releases bis in die Produktion gebracht werden. Eine mittelfristige Lösung liegt in der Automatisierung und Standardisierung, für deren Einführung wiederum initial größere Ressourcen eingeplant werden müssen. Neben einer nötigen Strukturanpassung im Unternehmen, spielen auch neue und übergreifende KPIs und Verbindlichkeiten eine Rolle, die ebenfalls in der Organisation des Unternehmens verankert werden müssen.

4. Ängste

Die durch DevOps geforderte Automatisierung und Standardisierung resultiert auch in geänderten fachlichen Anforderungen an Mitarbeiter und damit in neuen Stellenbeschreibungen. Natürlich kommen hier Ängste seitens der Angestellten auf: „Wird mein Job aufgrund der Automatisierung wegfallen?“ oder „Kann ich den sich ständig wandelnden Anforderungen gerecht werden?“ Diese gilt es, als Arbeitgeber zu adressieren und aus dem Weg zu räumen.

Veränderungen sollten in einem übergreifenden Change-Projekt integriert sein. Dabei ist die oberste Prämisse Betroffenen zu Beteiligten zu machen. Gleichzeitig müssen Unternehmen nachhaltig in die Ausbildung ihrer Mitarbeiter investieren und sie dafür sensibilisieren, dass die digitale Transformation auch in den Bereichen Softwareentwicklung, Test und Betrieb stattfinden wird.

Der Erfolg des Teams

DevOps einzuführen bedeutet auch, dass Hürden genommen werden müssen. Doch es lohnt sich. Das Ergebnis ist eine effiziente und zielsichere Verfahrensweise, die einen Wettbewerbsvorteil am Markt darstellt.

Jörg Hastreiter
Jörg Hastreiter
(Bild: T-Systems Multimedia Solutions)

Gerade das Management muss sich dabei jedoch der Hürden bewusst sein und die aktive Beteiligung der Mitarbeiter am Wandel vorantreiben. Wenn Mitarbeiter im Change-Projekt von Betroffenen zu Beteiligten werden, wird so Ablehnung oder Ängsten vorgebeugt. Letztlich kann DevOps nur im Team zum Erfolg führen.

* Jörg Hastreiter ist Leiter Business Technology & Excellence bei der T-Systems Multimedia Solutions.

(ID:44692705)