Viele Organisationen können keine Änderungen in ihrer Produktionsumgebung innerhalb von Minuten oder Stunden durchführen; es dauert oft Wochen oder Monate. Sie schaffen es auch nicht, Hunderte oder Tausende von Änderungen pro Tag zu implementieren und kämpfen stattdessen bereits mit monatlichen oder vierteljährlichen Deployments. Deployments sind selten Routine, häufig treten Ausfälle auf, und das Team muss immer wieder Brände löschen und Notfallmaßnahmen ergreifen.
In einer Zeit, in der Schnelligkeit am Markt, exzellente Serviceleistungen und kontinuierliches Experimentieren für den Wettbewerbsvorteil entscheidend sind, haben diese Unternehmen einen klaren Nachteil. Dies liegt oft an ihrer Unfähigkeit, einen zentralen, chronischen Konflikt innerhalb ihrer Technologieorganisation zu lösen.
In fast jeder IT-Organisation gibt es einen grundlegenden Konflikt zwischen der Entwicklung und dem IT-Betrieb, der die Markteinführungszeit für neue Produkte und Funktionen sowie deren Qualität beeinträchtigt. Häufige Ausfälle und steigende technische Schulden sind die Folge.
Der Begriff “technische Schulden” wurde von Ward Cunningham eingeführt. Ähnlich wie finanzielle Schulden beschreiben technische Schulden die Probleme, die durch frühere Entscheidungen entstehen und mit der Zeit schwerer zu beheben sind, wodurch die Handlungsoptionen eingeschränkt werden. Auch bei vernünftigem Umgang müssen Zinsen gezahlt werden. Ein wesentlicher Faktor sind die oft gegensätzlichen Ziele von Entwicklung und IT-Betrieb. IT-Organisationen müssen viele Aufgaben erfüllen, darunter diese beiden Ziele gleichzeitig:
Die Entwicklung ist meist dafür verantwortlich, schnell auf Marktänderungen zu reagieren und neue Funktionen in die Produktionsumgebung zu implementieren. Der IT-Betrieb hingegen sorgt dafür, dass die IT-Services für die Kunden stabil, zuverlässig und sicher sind, was es schwierig bis unmöglich macht, kritische Änderungen an der Produktionsumgebung vorzunehmen. In dieser Konstellation haben Entwicklung und IT-Betrieb oft gegensätzliche Ziele und Motivationen.
Dr. Eliyahu M. Goldratt, ein Pionier im Bereich des Produktionsmanagements, bezeichnete diese Art von Konstellation als “den zentralen chronischen Konflikt” – wenn die Ziele und Motivationen der verschiedenen Abteilungen verhindern, dass übergeordnete, unternehmensweite Ziele erreicht werden.
Dieser Konflikt führt zu einer Abwärtsspirale, die das Erreichen der gewünschten Geschäftsergebnisse verhindert – sowohl innerhalb als auch außerhalb der IT-Organisation. Solche chronischen Konflikte führen häufig zu schlechter Softwarequalität und unzureichendem Service, was zu schlechten Kundenergebnissen und einem ständigen Kampf mit Workarounds, Notlösungen und Heldentaten führt – sei es im Produktmanagement, in der Entwicklung, in der Qualitätssicherung, im IT-Betrieb oder in der Informationssicherheit.
Eine vielversprechende Lösung für diese Probleme ist die Implementierung von DevOps-Praktiken, die durch kleine, schlagkräftige Teams und die Anwendung von Conways Gesetz unterstützt werden können.
Conways Gesetz besagt, dass die Architektur von Software-Systemen die Kommunikationsstrukturen der Organisation widerspiegelt, die sie entwickelt. Mit anderen Worten: Wenn Entwicklungs- und Betriebsteams isoliert arbeiten, entstehen oft fragmentierte und ineffiziente Systeme. Um diese Problematik zu überwinden, müssen Unternehmen ihre Organisationsstruktur anpassen, sodass Kommunikationsbarrieren abgebaut und die Zusammenarbeit gefördert wird.
Kleine, autonome Teams sind flexibler und können schneller auf Veränderungen reagieren als große, starre Abteilungen. Durch die Bildung von funktionsübergreifenden Teams, die sowohl Entwickler als auch Betriebsexperten umfassen, können Unternehmen die Time-to-Market für neue Features verkürzen und die Qualität ihrer Software verbessern. Diese Teams sind in der Lage, direkt und effizient zu kommunizieren, wodurch Missverständnisse und Verzögerungen vermieden werden.
Durch die Einführung von CI/CD-Pipelines können Teams Änderungen an der Codebasis kontinuierlich integrieren und automatisch testen. Dies reduziert die Zeit, die benötigt wird, um neue Features in die Produktionsumgebung zu bringen, und minimiert gleichzeitig das Risiko von Ausfällen durch gründliche, automatisierte Tests.
IaC ermöglicht es, die gesamte Infrastruktur über Code zu verwalten, was Konsistenz und Wiederholbarkeit sicherstellt. Teams können Infrastrukturänderungen versionieren und testen, ähnlich wie bei der Anwendungsentwicklung, was zu einer stabileren und zuverlässigeren Produktionsumgebung führt.
Automatisierung ist ein zentraler Bestandteil von DevOps. Durch die Automatisierung wiederkehrender Aufgaben können Teams ihre Effizienz steigern und menschliche Fehler reduzieren. Darüber hinaus ermöglicht eine umfassende Überwachung der Systeme eine proaktive Problemerkennung und -behebung, bevor sie zu größeren Störungen führen.
Durch die Implementierung von DevOps-Praktiken und die Bildung kleiner, funktionsübergreifender Teams können Unternehmen den zentralen, chronischen Konflikt zwischen Entwicklung und Betrieb überwinden. Diese Teams haben gemeinsame Ziele und Verantwortlichkeiten, was zu einer besseren Zusammenarbeit und einem harmonischeren Arbeitsumfeld führt. Der Fokus liegt nicht mehr auf den individuellen Abteilungszielen, sondern auf den übergeordneten Unternehmenszielen.
Die Herausforderungen, denen Unternehmen in ihrer IT-Infrastruktur gegenüberstehen, können durch die Einführung von DevOps-Praktiken und die Anwendung von Conways Gesetz effektiv bewältigt werden. Kleine, schlagkräftige Teams fördern die Zusammenarbeit und Flexibilität, während automatisierte Prozesse und kontinuierliche Integration die Qualität und Geschwindigkeit der Deployments verbessern. Durch diese Maßnahmen können Unternehmen ihre Wettbewerbsfähigkeit steigern und eine robuste, zuverlässige IT-Infrastruktur aufbauen.
Enthält auszugsweise Inhalte aus dem Buch “[Das DevOps-Handbuch: Teams, Tools und Infrastrukturen erfolgreich umgestalten]” Taschenbuch – 28. Juli 2022 von Gene Kim, Jez Humble, Patrick Debois, John Willis und weiteren Autoren.