Agiles Entwickeln

DevOps krempelt Hierarchien um

Forrester sagt, wer DevOps beherrscht, braucht keine IT der zwei Geschwindigkeiten. Organisation und Strukturen werden sich mit Einführung der Methode ändern.

Die Digitalisierung fast sämtlicher Kundenbeziehungen bietet Unternehmen große Chancen und verursacht zugleich Probleme. Nie war es leichter, neue Kunden zu gewinnen oder vorhandene zu verlieren.

Etablierte Unternehmen fürchten sich vor Startups mit neuen Ideen und innovativen Softwarelösungen, während sie selbst sich mit ihren jahrzehntealten Systemen herumschlagen müssen, die sich nicht in wenigen Wochen oder Monaten erneuern lassen.

In seinem Report: "Forget Two-Speed IT. DevOps enables faster delivery across the board" beschreibt Forrester die Vorteile von DevOps als Entwicklungs- und Implementierungsmethode auch und gerade in historisch gewachsenen Anwendungsumgebungen.

Eine Definition von DevOps

DevOps und Scrum werden oft als Alternative zur klassischen Wasserfall-Entwicklung gepriesen. Dabei geht es um mehr als nur um eine geänderte Art der Softwareentwicklung.
DevOps und Scrum werden oft als Alternative zur klassischen Wasserfall-Entwicklung gepriesen. Dabei geht es um mehr als nur um eine geänderte Art der Softwareentwicklung.
Foto: Marvellousworld - Fotolia.com

DevOps ist ein Kunstwort, das sich aus den ersten Silben von ‚Development‘ und ‚Operations‘ zusammensetzt, also aus Entwicklung und Betrieb.

Der Ansatz ähnelt dem der agilen Softwareentwicklung, nur dass es bei DevOps zusätzlich darum geht, Abteilungsgrenzen aufzulösen. Das macht es schwieriger, solche Ansätze in der Praxis zu etablieren.

Gelingen kann das nur, wenn bei allen Beteiligten Anreize für das sich Einlassen auf das Verfahren bestehen.

Es geht um die Frage, wie sich die ursprüngliche Idee einer Software schnell und stabil zum Kunden bringen lässt. Eine Entscheidung für neue Methoden wie DevOps fällt dabei natürlich nur dann, wenn damit aus Sicht der Unternehmensleitung ein quantitativ messbarer Vorteil gegenüber anderen Vorgehensweisen verbunden ist.

Methodisch lautet das Ziel, eine bessere Zusammenarbeit zwischen Entwicklungsteam, Service und Management zu etablieren, als das in traditionellen, hierarchischen Strukturen normalerweise der Fall ist.

Abteilungsgrenzen und Hierarchien abschaffen

Abteilungsgrenzen und Hierarchien sollen so weit wie möglich ausgeschaltet werden, das heißt Entwickler, Fachabteilungen und Management müssen willens und in der Lage sein, auf Augenhöhe zusammenzuarbeiten. Idealerweise arbeiten dabei so viele Beteiligte wie möglich temporär in denselben Räumen.

Das Vorgehen bei der Entwicklung wird oft mit Hilfe solcher Schaubilder beschrieben. Wer sie versteht, hat die größte Hürde bereits genommen.
Das Vorgehen bei der Entwicklung wird oft mit Hilfe solcher Schaubilder beschrieben. Wer sie versteht, hat die größte Hürde bereits genommen.
Foto: MicroTool

Scrum dient zur Steuerung

Zur Steuerung der abteilungsübergreifenden 'Operations' kommt meistens das Scrum-Verfahren zum Einsatz. Grundannahme dahinter: ist zu komplex, um von vorne bis hinten planbar zu sein. Scrum reduziert die Komplexität erstens durch mehrere Feedbackschleifen, zweitens werden gewünschte Funktionen ständig überprüft und wenn nötig nachgeschärft.

Das Verfahren ist rollenbasiert, die beiden wichtigsten Rollen sind die des Product Owners und des Scrum Masters. Der Product Owner ist für den Erfolg verantwortlich, muss sicherstellen, dass das entwickelte Produkt sauber definiert ist und am Ende das kann, was es können soll. Der Scrum Master moderiert den ganzen Prozess.