Als nächstes Thema in meiner Artikelserie über den Stand der modernen und agilen Software-Entwicklung habe ich mir die DevOps herausgegriffen. DevOps stellen das "Bindeglied" zwischen dem IT-Systembetrieb und dem restlichen Entwicklungsteam und sind in den letzten Jahren zu einer unverzichtbaren Rolle in agilen Projekten geworden.
Im Interview: Andreas Mandi-Beke
Es ist mir eine besondere Freude, dass ich für diese besondere Perspektive der agilen Software-Entwicklung mit Andreas Mandi-Beke einen Agilisten und erfahrenen agilen DevOp gewinnen konnte. Andreas ist als waschechter DevOp bekannt für agile Umsetzung von IT-Produktion und Administration. Dieses Interview mit Andreas ist das dritte in meiner Forschungsreise durch die Welt der Agilisten. Es folgt ein komprimiertes Gesprächsprotokoll. Viel Spaß!
Hi Andreas! Was machst Du beruflich?
Andreas: Ich administriere seit einigen Jahren schon vielerlei Systemumgebungen für einen großes Webportal - AutoScout24 - und habe auch besonderen Spaß daran. Ich finde es einfach spannend, effektive Lösungswege für administrative Herausforderungen in kurzer Zeit umzusetzen. Im Web musst Du am Ball bleiben.
Was sind Deine Ziele, wenn es um Agile Software Entwicklung geht?
Andreas: Puh... ich würde aus meiner DevOp-Sicht zwei wichtige Ziel-Aspekte anbringen: die Continuous Integration und das Continuous Deployment. Das ist meiner Meinung nach ein wichtiger Punkt, denn genau diese Methoden ermöglichen es, Verantwortung über die Software wieder mehr dorthin zu tragen, wo sie entsteht: beim Software-Entwickler. Ich als DevOp kann das durch eine gute CI/CD unterstützen und es konsequenterweise als eines meiner Ziele ins Auge fassen.
Welchen Herausforderungen muss sich ein agiler DevOp im agilen Umfeld stellen?
Andreas: Ein DevOp ist ein Chamäleon. Er muss flexibel und anpassungsfähig sein. Ein DevOp vereint zwei ganz entscheidende Perspektiven: Einerseits ist es wichtig, im Systembetrieb Zuverlässigkeit und Stabilität zu gewährleisten. Andererseits ist es wichtig, offen für Veränderungen zu sein und sie sogar zu fördern. Das ist Elementar für einen agilen DevOp: er fördert die Veränderung, in dem er es in seiner Person und Position ermöglicht, Stabilität und Veränderung im Einklang zu halten.
Was ist für einen DevOp wichtig im Zusammenspiel zwischen Software-Entwicklung und Operations?
Andreas: Das wichtigste ist und bleibt die Kommunikation. Wir sind alle Menschen und können ein gemeinsames Verständnis nur durch enge und intensive Kommunikation erreichen. Ich als DevOp habe andere Perspektiven auf die Software als ein Software-Entwickler - und das ist auch gut so. Das entscheidende ist die Abstimmung hin zu einem gemeinsamen Zielbild. Für mich ist Kommunikation ein fundamentales Erfolgskriterium.
Wie integriert sich ein DevOp denn in ein agiles Team?
Andreas: Meine Vorstellung von einer guten Teamintegration fängt nicht bei anderen Teammitgliedern an, sondern beim DevOp selbst. Er soll in der Lage sein, aktiv auf alle Beteiligten zugehen zu können und sich über den Stand der Dinge zu informieren. Hier ist wieder der Punkt der Kommunikation. Es ist immens wichtig, das ein DevOp einen Teil seiner Zeit für diese "Informationsbeschaffung" und den "Austausch" investiert, um dann im Ergebnis Klarheit über die Software aus Betriebssicht zu erlangen.
Wie stellt sich ein agiler DevOp den "idealen" agilen Software-Entwickler vor?
Andreas: Na ganz klar: er ist agil. Das entscheidende Kriterium ist für mich das "Leben" von Agilität. Es geht um die aktive Gestaltung des Fortschritts. Meiner Meinung nach ist es nicht nur damit getan, dass sich ein Entwickler mit neuen Technologien auseinandersetzt, sondern es in den richtigen Kontext für seine Aufgabe rückt. Die Fähigkeit, sich für Veränderung und Fortschritt einzusetzen ist für mich auch wichtig.
Ja, und ein weiterer, sehr wichtiger Punkt ist für mich die Kompromissfähigkeit. Ob es nun ein agiler DevOp, agiler Entwickler oder agiler Tester ist. Kompromisse sind das Mittel des Einzelnen, einen gemeinsamen Weg zu gehen.
Was ist in einem agilen Team Deiner Meinung nach entscheidend?
Andreas: Neben der Kommunikation ist für ein agiles Team meiner Meinung nach die Ausgewogenheit und Interdisziplinarität wichtig. Ich kann Software nicht ohne Tester, DevOp, Product Owner, Designer oder Entwickler umsetzen. Gleichzeitig sollte das Team in der Lage sein, "sich selbst zu fordern". Also: die Selbstorganisation sollte meiner Meinung nach auch eine stetige gemeinsame Zielsetzung und Zielumsetzung enthalten.
Man sagt oft, Scrum und Systembetrieb - das passt nicht so zusammen. Stimmt das?
Andreas: Wer sagt das? Ich sage: es ist durchaus möglich. Kommunikation und Kompromissfähigkeit vorausgesetzt. Scrum hat natürlich die "Erstellung von Software" im Fokus, während der Systembetrieb sich eher um den "Betrieb von Software" beschäftigt. Insofern ist die Systembetriebssicht etwas breiter. Aber: Ich finde es als DevOp besonders wichtig, gerade in dem Erstellungsprozess einer Software schon involviert zu sein und mitzuwirken. Das Ergebnis aus Betriebssicht ist eine wesentlich bessere Wartungssicht auf die Software.
Welches sind die größten Herausforderungen für einen Administrator, der sich zu einem agilen Operator oder sogar DevOp entwickeln möchte?
Er muss sich von der klassischen Administration verabschieden - definitiv. Das denken innerhalb des "Systems" und innerhalb einer "Systemlandschaft" ist da nicht mehr ausreichend. Er muss sich und seine Sichtweise erweitern auf die Dinge, die vor und neben seiner Systemlandschaft passieren. Er sollte aufgeschlossen gegenüber der Software-Entwicklung, gegenüber der Produkt-Entwicklung und den vielen anderen Facetten von Software sein.
Die Rolle des DevOp ist hier auch klar: Er ist der Enabler im Sinne der "Verwirklichung" - also dem eigentlichen Einsatz - von Software. Es muss dem DevOp klar sein, dass diese Schnittstelle ein heißer Punkt in der gesamten Software-Produktions-Kette ist. Je cooler er ist, umso besser kann er auch seine Aufgabe wahrnehmen.
Die entscheidenden Merkmale für einen DevOp sind für mich Aufgeschlossenheit, Kommunikationsfreude und Professionalität.
Was sollte ein agiler DevOp nicht tun - oder können? Wo sind die Grenzen eines DevOp?
Das Rollenverständnis sollte schon ausgeprägt sein. Was ich damit meine ist, dass er schon seine Kernkompetenz im Fokus halten sollte. Ein DevOp kann sicherlich gute Skripte für die Automatisierung schreiben. Das versetzt ihn aber noch lange nicht in die Lage, sich auf die Kompetenzen eines Software-Entwickler einzulassen. Das gleiche könnte ich jetzt auch für die anderen Rollen - also Tester, Usability-Experte o.ä. - anbringen. Die Konzentration auf das Hauptaufgabengebiet ist wichtig.
Auch denke ich, dass er nicht damit aufhören sollte, sich und seine Arbeit zu reflektieren. Ein stetiger - manchmal durchaus kritischer - Blick auf die eigene Arbeit und Arbeitsweise ist wichtig. Also: nicht mehr reflektieren sollte er definitiv nicht tun.
Was fehlt Deiner Meinung nach in der agilen Lebens- und Arbeitsweise?
Das ist eine gute Frage. Ich glaube, das der Gemeinschaftsgedanke nach wie vor schwierig und lückenhaft ist. Es kann immer wieder vorkommen, das man in das alte "Schubladen-Denken" der "Verantwortlichkeiten" und "Zuständigkeiten" zurückfällt. Gerade, wenn Dinge mal nicht so rund laufen. Aber genau dann ist es wichtig, die gemeinschaftliche Verantwortung zu stärken und im Team zu agieren.
Es fehlt meiner Meinung nach auch ein konkreteres auf einander zugehen. Zum Beispiel können wir DevOps uns auch mit dem Produkt-Management austauschen. Im Gegenzug finde ich, kann auch der aktive Austausch von anderen Abteilungen oder Perspektiven zum Systembetrieb gefördert werden. Ich fände es schön, wenn sich z.B. auch ein Produkt-Manager für die Software- und Systemwartung mehr begeistern könnte.
Wenn Du Dir für agile Arbeitswelt etwas wünschen könntest, was würdest Du Dir wünschen?
Puh. Ich würde mir wünschen, das es nicht mehr möglich wäre, Unternehmen "ausbluten" zu lassen. Die uneingeschränkte und geradezu unantastbare Macht des puren Kapitalismus lässt sich für mich nicht mit dem agilen Gedanken vereinbaren. Kooperation und Kapitalismus müssen in einem ausgewogenen Verhältnis zueinander stehen. Es kann für eine zukünftige agile Arbeitswelt nicht richtig sein, dass eine einzige Kraft oder Meinung alleinig Bestand haben kann. Vielmehr wünsche ich mir für jedes Unternehmen und jeden Mitarbeiter ein gemeinsames Wirken für ein gemeinsames Ziel - auf einer ausgewogenen und partnerschaftlichen Basis.
Vielen Dank, Andreas!
Weitere Interviews der Serie "Der Agilist"
- Agile Coaching mit Christian Dähn
- Agile Games mit Thorsten O. Kalnin