DevOps – Was ist das?

DevOps – nur ein Buzzword in aller Munde oder steckt mehr dahinter? DevOps, ein Zusammenspiel aus Dev(elopment) und Op(eration)s, soll die Wall of Confusion umgehen und somit den Entwickler näher an den Anwender bringen. Dazu ist das Aufbrechen der Silokultur, die in den meisten Unternehmen anzutreffen ist, unverzichtbar. Dieser Beitrag soll Ihnen einen Überblick über die Methode DevOps liefern und Ihnen einen ersten Eindruck vermitteln.

Wall of Confusion

Die „Wall of Confusion“ entsteht durch die verschiedenen Sichtweisen von IT-Entwicklung und IT-Betrieb. Hintergrund der Wall of Confusion ist das Outsourcing, das in der heutigen Zeit immer mehr Zuspruch von Unternehmen findet.

Wenn beispielsweise die Konzept-, Prozess- oder Anwendungsentwicklungn externe Dienstleister ausgesourced wurde, können Informationen durch die erhöhte Anzahl der Kommunikationsschnittstellen verloren gehen. Somit können die Interessen und Wünsche von der Entwicklung oder vom Betrieb falsch verstanden werden. Kombiniert mit der fehlenden Transparenz, die dadurch entstehen kann, baut sich die „Wall of Confusion“ weiter auf.

Was ist DevOps

DevOps wirkt dieser imaginären Wand entgegen. Durch die Fusion von Entwicklung und Betrieb (unabhängig davon, ob es sich um interne oder externe Ressourcen handelt) entsteht eine verständliche Transparenz, die auf kürzestem Weg an alle Beteiligten weitergetragen werden kann.

Um die Wall of Confusion aufzubrechen, gibt es folgende Ansatzpunkte:

  • Pilotprojekte, in denen Produkte des Unternehmens betreut werden, können im Betrieb verprobt werden.
  • Produktteams, bestehend aus Applikationsanwendern und Entwicklern, übernehmen die volle Verantwortung für dieses Produkt.
  • Produktanpassungen können in Echtzeit umgesetzt werden: Deployments werden nach erfolgreichen Tests direkt auf der Produktivumgebung bereitgestellt und können dem Kunden zur Verfügung gestellt werden. Somit handelt jedes Produkt eigenständig und kann sich den aktuellen Marktsituationen anpassen.

Ein Mitarbeiter aus dem Projekt berichtet an die Führungsebene und bildet somit die direkte Kommunikationsstelle. Dadurch erhält die Führungsebene einen guten Überblick, welche Produkte in welchem Status am Markt sind. Organisationsbereiche arbeiten somit durch agile Methoden und DevOps produktorientiert und weniger funktionsorientiert.

DevOps – Teams

Die Projektmitglieder, die sich dieser Pilotphase unterziehen, brechen die Silostruktur auf und entwickeln etwas Neues im Unternehmen. Plötzlich gibt es keine Abteilungen mehr, sondern einen Querschnitt in den einzelnen Silos. Dadurch entstehen die interdisziplinären Teams, die den Grundgedanken von DevOps ausmachen. In einem jungen Unternehmen ist dieser Kulturwandel leichter umsetzbar.

Ein erfolgreiches Produktteam arbeitet nicht nur agil, sondern sorgt in erster Linie dafür, dass keine Wissensherrschaft im Team entsteht. Durch permanente Kommunikation wird das Wissen eines einzelnen der Gruppe zur Verfügung gestellt, wodurch eine hohe Transparenz entsteht. Nicht nur das Wissen jedes einzelnen muss in der Gruppe gebündelt, sondern auch die Arbeitsschritte sichtbar gemacht werden. Nur, wenn die Aufgaben sichtbar sind, ist jedem Mitglied bewusst, welche Aufgaben noch zu bewältigen sind. Dies kann beispielsweise durch ein Kanban Board umgesetzt werden. Für eine erfolgreiche DevOps-Umsetzung ist es aber auch wichtig, agil zu arbeiten und somit das agile Manifest der Softwareentwicklung zu leben.

Das agile Manifest

Das Fundament der Agilität bildet das agile Manifest. 17 namhafte Entwickler unterschrieben im Februar 2001 das Manifest und legten somit den Grundstein für eine einheitliche Definition von agiler Softwareentwicklung. Es besteht aus insgesamt 12 Prinzipien, die die agile Vorgehensweise beschreiben.

Durch die frühe und rechtzeitige Auslieferung von Software wird der Kunde zufriedengestellt, auch dann, wenn Änderungen kurz vor Fristende eintreffen. Die Lieferung der funktionsfähigen Software als das wichtigste Fortschrittsmaß, wird regelmäßig durch die tägliche Zusammenarbeit von Fachexperten und Entwicklern ermöglicht.

Die Teams reflektieren vergangene Projekte um die Effektivität stetig zu verbessern. Agile Teams entwickeln eine geeignete Architektur, bestimmen deren Anforderungen und liefern die besten Entwürfe. Unterstützend dazu kommt der Fokus auf technische Exzellenz und gutes Design mit der Prämisse der Einfachheit.

Ein weiteres Prinzip ist, dass agile Prozesse nachhaltig entwickelt werden. Das heißt, dass Entwickler, Auftraggeber und Anwender das Entwicklungstempo so gestalten, dass dieses Tempo auf unbestimmte Zeit zu halten ist.

Startup vs. Mittelständler

Wenn das Management beschließt DevOps zu implementieren, bedeutet dies einen vollständigen Kulturwandel und kann nicht zu einem festen Stichtag umgesetzt werden. Das würde dazu führen, dass alle Abteilungen sich zum Stichtag neu orientieren müssen. Bei einem kleineren Unternehmen von zehn bis zwanzig Mitarbeiten ist das durchaus möglich, nicht aber bei einem Unternehmen mit einer Personalgröße von 15.000 Mitarbeitern. Die Mitarbeiter kennen die definierten Prozesse, haben die Arbeit nach vorhandenen Managementmethoden routiniert und die Services unterstützend aufgebaut.

Devops Einführung in Pilotprojekten

Um also eine Umstellung zu ermöglichen, ist es empfehlenswert zu ermitteln, welche Bereiche und Abteilungen durch DevOps unterstützt werden können.

In diesen Abteilungen können Pilotprojekte durchgeführt werden. Dazu ist es notwendig, dass die dort eingesetzten Mitarbeiter nicht nur von externen Beratern unterstützt und geschult werden, sondern verstehen, was es bedeutet, den kompletten Prozess nun agiler zu gestalten. Zu diesem Zeitpunkt kann mittels Schulungen und Seminaren Wissen vermittelt werden, um den Grundgedanken von DevOps zu verstehen. Es gilt intern zu definieren und zu bestimmen, was Agilität ausmacht und wie es im Unternehmen eingesetzt werden kann.
Infografik DevOps Toolchain

Die Projektmitglieder, die sich dieser Pilotphase unterziehen, brechen die Silostruktur auf und entwickeln etwas Neues im Unternehmen. Bereits im Unternehmen eingesetzte Software muss nicht gewechselt werden, wenn diese die Anforderungen erfüllt. Wenn es das aber nicht tut, ist es wichtig, eine Lösung zu finden, mit der das Team arbeiten kann und will. Nur so kann erreicht werden, dass das Grundgerüst der Agilität gebaut werden kann.

Devops und Transparenz

Die Entscheidung nun „agil zu werden“ kann von der Führungsebene Top-Down entschieden werden, ist aber nur zielführend und erfolgreich, wenn die Entscheidung auch von den Mitarbeitern akzeptiert wird und somit Bottom-Up gelebt wird. Die größte Herausforderung der Agilität ist die damit verbundene Transparenz. Diese Arbeitsweise verlangt, dass alle Tätigkeiten –   alle abgeschlossenen aber auch offenen Aufgaben –   aufzeigt werden. Dies bringt Vor- aber auch Nachteile mit sich. Es kann als Druckmittel gegenüber Projektmitgliedern genutzt werden und dazu führen, dass Kollegen sich in diesem Arbeitsumfeld nicht sicher fühlen. Anderseits schafft es eben die gewünschte Transparenz um zu erkennen, was abgeschlossen ist und was nicht. Transparenz ist unverzichtbar um eine Arbeitsumgebung nach DevOps zu schaffen.

Die IT-Abteilung im Unternehmen ist nicht mehr als eigene Ressource anzusehen, denn die Entwickler befinden sich nun direkt im Service. Das führt dazu, dass die Ressource IT gegebenenfalls stärker besetzt werden muss, damit diese nicht mehr als rar anzusehen ist.

DevOps ist auf keine Unternehmensgröße zu beschränken. DevOps kann in einzelne Abteilungen oder Projekte implementiert werden. Somit besteht die Möglichkeit, einzelne Services oder Abteilungen nach DevOps umzustrukturieren.

Fazit

DevOps sorgt für viele Aspekte und bringt viele Unternehmen zurück an den Punkt, an dem alle Beteiligten an einem Produkt arbeiteten und dieses nach besten Wissen und Gewissen entwickelten.

Dennoch ist es mehr als „alter Wein in neuen Schläuchen”. Es ist eine Methode, die es ermöglicht, die vorhandenen Produkte noch besser betreuen zu können und das Unternehmen agiler am Markt auftreten zu lassen.

DevOps löst sich von starren Strukturen und bringt Agilität ins Unternehmen. Eine Chance aber auch Herausforderung zugleich.

Sie möchten Devops bei sich im Unternehmen einführen? Gerne starten wir mit Ihnen gemeinsam Ihr Devops Einführungsprojekt. Natürlich bringen wir Ihnen auf Wunsch in einem Basis-Workshop näher, wie Sie von Devops profitieren können. In unserem Devops Toolcheck untersuchen wir Ihre gesamte Toolchain von der Softwareerstellung über das Testen bis hin zur Auslieferung und zum Betrieb Ihres Produktes.