DevOps-Interview: „Kluft zwischen Entwicklung und Betrieb schließen“

[caption id="attachment_25112" align="alignleft" width="240" caption="Foto: Jumping in the sunset von thriol (Lizenz: CC-BY-NC)"][/caption]Mehr oder weniger zufällig bin ich auf eine Bewegung gestoßen, die Entwicklung (Development) und Administration (Operations) näher zusammenbringen will und damit glänzend zu meiner aktuellen Tätigkeit passt: DevOps.

Matthias Marschall war so freundlich, einige grundsätzliche Fragen zu DevOps zu beantworten.

Matthias ist im Web-Umfeld tätig und befasst sich mit dem Thema, seit er vor acht Jahren neben der kompletten Entwicklung einer großen Web-App auch für den Betrieb Verantwortung übernommen hat. Er lehrt Agile Methoden in Augsburg, bloggt über Agile Web Operations und will mit Dan Ackerson Techniker bei der Umsetzung von DevOps unterstützen.

DevOps sieht sich selbst als Bewegung. Wie kam es dazu?
Viele der Ideen, die jetzt unter dem Begriff DevOps zusammengefasst werden, gibt es natürlich schon lange. Seinen Anfang als Bewegung hat DevOps mit den ersten DevOpsDays genommen, die von Patrick Debois organisiert wurden.
Was sind eure Ziele?
Das Ziel von DevOps ist es, die Kluft zwischen Entwicklung und Betrieb zu schließen, um so den Anforderungen an immer schnellere und flexiblere Änderungen gerecht werden zu können -- vor allem bei Web Applications, aber nicht nur. Es geht im Endeffekt darum, die Grundideen von agilen Methoden auch auf Operations auszuweiten und somit einen nahtlosen Prozess von der Entwicklung hin zum Nutzer zu schaffen. Denn erst wenn der Nutzer was von der entwickelten Software hat, ist man wirklich erfolgreich.
Wie groß ist die Bewegung mittlerweile?
Das ist natürlich schwer zu sagen. Eric Knorr hat in Devops and the great IT convergence geschrieben:

According to a friend in the space, all you need to do is walk through Silicon Valley and shout, "Devops," and 300 people will run to a meetup.

Und auch auf den DevOpsDays kommen immer wieder weit über 100 Leute zusammen.

Als Entwickler sehe ich hier Operations in der Bringschuld. Bei uns sind die Administratoren diejenigen, die sich zurückziehen und kaum Präsenz auf Meetings zeigen, während ich mir Feedback aus Projekten abhole und mit Kollegen in Kontakt stehe. Wer muss den ersten Schritt machen?
Es ist sicher so, dass in der Entwicklung agile Ideen und Vorgehensweisen schon weiter verbreitet sind als in Operations. Viele Administratoren bekämpfen Änderungen noch und wollen ein möglichst stabiles System schaffen. Diese Denkweise ist nicht mehr zeitgemäß. Alle müssen zusammen arbeiten, um möglichst schnell Änderungen an Kunden auszurollen, natürlich ohne Operations zu gefährden.
[caption id="attachment_25137" align="alignright" width="200" caption="Matthias Marschall"][/caption]
Es hilft natürlich nicht drauf zu warten, dass irgend jemand den ersten Schritt macht. Jeder, der verstanden hat, um was es bei Agile und DevOps geht, sollte bemüht sein, alle Beteiligten mit ins Boot zu holen.
Ausgehend von den üblichen Gräben zwischen Entwicklern und Administratoren: Wie lange dauert es, bis DevOps im Unternehmen etabliert sind?
Tiefgreifende kulturelle Änderungen dauern Monate oder sogar Jahre bis sie sich im Unternehmen etabliert haben. Je weniger es alle Beteiligten gewohnt sind zusammen zu arbeiten, desto länger.
Es ist wichtig, dass man Vertrauen zwischen Entwicklern und Administratoren schafft.
Welche konkreten Maßnahmen helfen dabei?
Zunächst ist ein gegenseitiger Zugriff auf die Ressourcen hilfreich: Zugriff für die Entwickler auf die Produktionsmaschinen, um Fehler direkt analysieren zu können, und für die Administratoren auf das Source Code Repository und die Build Tools, damit sie selbst Testbuilds deployen können, um sich damit vertraut zu machen. QA sollte von Anfang an in den Entwicklungsprozess mit eingebunden sein -- QA kann z.B. schon Testszenarien für User Stories als Akzeptanzkriterien definieren, lange bevor die Entwicklung anfängt. Entwickler können in die Bereitschaftsdienste mit aufgenommen werden. Und nicht zuletzt Transparenz herstellen, indem man Metriken und Planungen offenlegt.

Natürlich ist da die eigene Kreativität gefragt. Es kommt sehr genau auf das Umfeld und die aktuelle Situation an.

Es gibt Vorwürfe, DevOps sei elitär und eure Ideen nur alter Wein in neuen Schläuchen. Wie geht ihr mit solcher Kritik um?
Wie gesagt, sind natürlich viele Ideen, die jetzt als DevOps bezeichnet werden ganz und gar nicht neu. Was neu ist, ist, dass wir versuchen, ein breiteres Verständnis für die Dringlichkeit der Zusammenarbeit zu erzeugen und Wege zu sammeln und aufzuzeigen, um schneller bessere Software zum Kunden zu bringen. So in dieser Gesamtheit hat das meines Wissen noch keiner versucht.

Vielen Dank für die ausführlichen Antworten!

Aktualisiert: