Öltanker mit der Agilität eines Schnellboots

DevOps für mehr Sicherheit und Qualität im Konzern

| Autor / Redakteur: Sven Euteneuer * / Stephan Augsten

Mit DevOps-Strategien lassen sich auch die Prozesse eines Großkonzerns agiler gestalten.
Mit DevOps-Strategien lassen sich auch die Prozesse eines Großkonzerns agiler gestalten. (Bild: The Photographer - Wikimedia.org / CC0)

Der digitale Wandel erfordert von Unternehmen mehr Agilität. Manche Konzerne und größere Unternehmen wirken aber behäbig wie Öltanker. DevOps-Strategien können hier für schnellere Reaktionen und bessere Steuerung sorgen.

Der Wettbewerb am Markt für Software-basierte Systeme wird immer härter. Gerade jene Unternehmen, die technologisch und prozessual nicht „auf der grünen Wiese“ starten können, verlieren im Kampf um Kunden gegen Startups und kleinere, wendige Firmen. Unabhängig von Standort und Größe entsteht eine direkte Konkurrenz

Neue oder verbesserte Produkte müssen immer schneller eingeführt werden. Trotzdem muss die Qualität der Produkte stimmen. Denn Mängel werden über soziale Medien und App-Stores diskutiert und können nicht verheimlicht werden. Und beispielsweise in der Automobilindustrie oder auch bei der Bahn können Schwächen in der Qualität lebensgefährliche Folgen haben.

Den Herausforderungen mit modernen Ansätzen begegnen

Die Situation ändert sich dabei in zweierlei Hinsicht: In der Dynamik der Anpassung und – bedingt dadurch – beim Einsatz neuer Entwicklungs- und Testmethoden. Die Entwicklung muss sich auf kurze Feedback-Schleifen einstellen, um schnell auf neue Kundenanforderungen oder gefundene Mängel reagieren zu können. Häufige Anpassungen erfordern auch mehr Testaktivitäten, speziell bei Regressionstests.

Gleichzeitig wird durch den Wechsel mit nur kleinen Änderungen auch der Einsatz neuer Testmethoden ermöglicht. Zum Beispiel, dass die Kunden selbst gezielt als Testpersonen eingebunden werden – üblicherweise ein gezielt ausgewählter Teil der Kundschaft, so dass für den überwiegenden Teil der Nutzer kein Unterschied sichtbar wird.

Für den IT-Betrieb bedeutet dieser Prozess, dass häufiger und flexibler neue Software verteilt werden muss (Software Deployment). Zudem müssen die Systeme skalierbar sein, das heißt, die Leistungsfähigkeit der Produktionsumgebung muss sehr flexibel steigenden Bedarfsfällen, zum Beispiel durch höhere Nutzerzahlen, oder dem parallelen Betrieb unterschiedlicher Versionsstände zum Live-Test, genügen können. Andernfalls besteht die Gefahr, den Geschäftserfolg durch Performance-Probleme oder verfrüht global ausgerollte Änderungen aufs Spiel zu setzen.

DevOps-Ansätze unterstützen all diese Anforderungen auf den folgenden drei Ebenen von Software-Entwicklung, Test und Betrieb:

  • 1. Entwicklung und Betrieb arbeiten sehr eng zusammen; und zwar so eng, dass zwischen beiden Gruppen nicht länger unterschieden wird. Stattdessen werden zum Beispiel gemeinsame Feature-Teams gebildet, die sich um eine bestimmte Funktionalität der Anwendung kümmern, diese gemeinsam entwickeln und zugleich deren Betrieb realisieren.
  • 2. Die interne Struktur einer Anwendung wird nach Funktionalität gegliedert, nicht länger nach technischen Ebenen oder Komponenten. Das wirkt sich natürlich auf die Architektur einer Anwendung aus: Über Microservices (ein Architekturmuster) wird die Unabhängigkeit von Entwicklung und Deployment ermöglicht. Auf diese Weise unterstützt die Software-Architektur den Einsatz innovativer Aspekte in Organisation (Feature-Teams), Betrieb (Skalierbarkeit) oder Testmethodik (A/B-Testing).
  • 3. Schließlich erfordern schnelle Marktzyklen, kurze Feedbackschleifen und häufige (Regressions-)Tests eine weitreichende Automatisierung von Tätigkeiten, nicht nur im Hinblick auf Testautomatisierung – auch die Erzeugung, Betankung und Bereitstellung von Test- und Produktionsumgebungen gehören dazu.

Agile Arbeitsweisen setzen sich nicht nur auf der Anbieterseite durch. Viele Kunden fordern die Umstellung traditioneller Prozesse und Software-Architekturen auf DevOps ein. Wie ein Unternehmen DevOps in die eigenen Prozesse integriert, hängt dabei von der Ausgangslage ab. Manchmal ist es möglich, ein Entwicklungsprojekt „auf der grünen Wiese” aufzusetzen.

Meist bewegt sich ein Projekt jedoch innerhalb komplexer organisatorischer, prozessualer und technologischer Rahmen, die im Unternehmen vorgegeben oder nur langsam und mit hohem Aufwand zu ändern sind. Besonders in größeren Unternehmen sind solche Prozesse oft relativ starr; denn die etablierten Strukturen widersetzen sich prinzipbedingt dem erforderlichen Wandel. Große Unternehmen wirken hier wie Öltanker, die plötzlich wie Segelboote im digitalen Wind wendig sein sollen.

DevOps einzuführen, ist ein Weg mit (tausend) Schritten

Viele Unternehmen setzen in DevOps ganz gezielte Erwartungen – manche von ihnen sind realistischer, andere realitätsferner. Da sich auch die Ausgangssituationen erheblich unterscheiden, ist jeder Weg in Richtung DevOps individuell. Um dies berücksichtigen zu können, sind mehrere Schritte mit diversen Feedbackschleifen notwendig.

Zuerst muss geklärt werden, was Ausgangslage und was Ziel ist. Das findet man mit einer Reihe von Workshops heraus. Sie betreffen die Organisation selbst, aber auch Prozesse, Methoden und Tools – wie etwa Continuous Deployment Pipelines.

Inhalt des Artikels:

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45339106 / Agile Entwicklung)