DevOps? Ein Ansatz zur Beschleunigung und Flexibilisierung der IT! (1/5)
In dieser fünfteiligen Artikelserie möchte ich die Prinzipien hinter DevOps genauer beleuchten. Mein Ziel ist es, ein grundlegendes Verständnis von DevOps zu schaffen, danach die einzelnen Faktoren zu diskutieren und schließlich ein Fazit zu ziehen. Hierbei möchte ich deutlich machen, dass sowohl die organisatorischen Veränderungen (Zusammenführen von Development und Operations) als auch die technischen Anpassungen umfassend und anspruchsvoll sind. Mit diesem ersten Artikel soll ein Basisverständnis der Herausforderungen innerhalb des Software-Lifecycle hergestellt werden, um in den nächsten Artikeln auf die einzelnen Prinzipien von DevOps im Detail einzugehen.
DevOps zur Optimierung des Software-Lifecycle
Kaum ein Versicherer hat sich in den letzten Jahren nicht der Digitalisierung verpflichtet. Im Fokus stehen hierbei in der Regel die Flexibilisierung und Beschleunigung in Richtung der (internen und externen) Kunden. Ein wichtiger Ausgangspunkt mit weiterhin hohem Potenzial ist dabei die IT. Sie steht in Zusammenarbeit mit den Fachbereichen seit jeher im Zentrum, wenn es darum geht, (kundenfreundliche) Lösungen umzusetzen und diese in kurzen Zyklen weiterzuentwickeln. Unter kurzen Zyklen sind hier jedoch nicht einige Wochen und Monate gemeint, sondern die Fähigkeit, neue Funktionen innerhalb weniger Tage zu designen und umzusetzen sowie diese anschließend automatisiert innerhalb von Minuten in die produktiven Umgebungen zu überführen und somit den Kunden zugänglich zu machen.
Als ein in Digitalunternehmen sehr verbreitetes Arbeitsmodell hat sich DevOps schon in vielen anspruchsvollen Situationen bewährt und Unternehmen dabei geholfen, die Qualität und Geschwindigkeit des Software-Lifecycle und somit auch gegenüber dem Kunden signifikant zu verbessern. Bei DevOps handelt es sich jedoch nicht nur um eine organisatorische Maßnahme, bei der Entwicklung (Dev) und IT-Betrieb (Ops) in interdisziplinären Lösungsteams zusammengeführt werden, sondern um einen umfassenden Ansatz, der Auswirkungen auf das komplette Operating Model der IT hat: Angefangen bei der Organisation und den Skills der Mitarbeitenden über die relevanten IT-Prozesse bis hin zur Anwendungslandschaft und Infrastruktur.
Theory of Constraints als zentrale Grundlage
Zum besseren Verständnis von DevOps will ich kurz auf dessen Ursprünge zurückschauen. Diese finden sich zum größten Teil im Lean Manufacturing. So unterstellt DevOps, dass es nur marginale Unterschiede zwischen einer Produktionsstraße und dem Software-Lifecycle-Prozess gibt. Ein grundlegender Ansatz, der hierbei zum Tragen kommt, ist die Theory of Constraints. Diese besagt, dass der Durchsatz in einem System – oder in unserem Fall die Durchlaufzeit einer Änderung von der Anforderungsdefinition bis zur Produktivsetzung – ausschließlich von einem begrenzenden Faktor bzw. einem Engpass bestimmt wird. Sämtliche Optimierungen vor dem Engpass führen nur dazu, dass sich noch mehr Arbeit vor dem Engpass staut, während sämtliche Optimierungen nach dem Engpass dazu führen, dass die entsprechenden Folgestationen nicht ausgelastet werden. Engpässe sind dabei systemimmanent: Sobald ein Engpass aufgelöst wird, muss an anderer Stelle ein neuer entstehen. Es beginnt ein ewiger Verbesserungskreislauf.
Empfohlen von LinkedIn
Um die einzelnen Elemente von DevOps verständlicher zu machen, gehe ich im Folgenden auf typische Ursachen für Engpässe innerhalb des Software-Lifecycle-Prozesses ein. Dabei orientiere ich mich an dessen („Produktions“-)Schritten:
Zentrale Herausforderungen im Software-Lifecycle-Prozess
Die vorangegangene Aufzählung, die sicherlich nicht abschließend ist, möchte ich nutzen, um drei zentrale Probleme sichtbar zu machen:
Mit der Auflistung der zentralen Herausforderungen und ersten Ausblicken zu möglichen Lösungsansätzen möchte ich diesen Artikel abschließen. Ich hoffe, die enormen Verbesserungspotenzial im Software-Lifecycle-Prozess, aber auch die Tragweite einer DevOps-Umsetzung sind schon ansatzweise deutlich geworden. Im nächsten Artikel wird es dann im Detail um die organisatorischen Stellhebel von DevOps gehen.