DevOps ist ein Konzept, das Agilität zu Ende denkt

Letztes Jahr hat DevOps seinen zehnten Geburtstag gefeiert. Patrick Debois hat 2009 die ersten DevOpsDays veranstaltet und damit wesentlich die Namensgebung DevOps geprägt. – Trotzdem gibt es bis heute nicht die eine „wahre“ Definition von DevOps. Die Antwort, die Sie auf die Frage „Was ist DevOps eigentlich?“ bekommen, hängt davon ab

  • wen Sie fragen und
  • aus welcher Perspektive Sie fragen.

Jeder wird aus seiner Erfahrungswelt, seinem Berufsstand, seinem persönlichen Interesse und seiner Sichtweise bestimmte Aspekte betonen, während er andere übergeht oder nur am Rande erwähnt bzw. beim Zuhören abwertet.

Mir gefällt die Beschreibung von DevOps als ein Konzept, das Agilität zu Ende denkt, mit dem Ziel geschäftsrelevante Services einfacher, schneller und in besserer Qualität bereitstellen zu können.

Ausgangspunkt für das Konzept DevOps ist die Frage, wie der Software-Lebenszyklus, also der Prozess von einer Idee für eine Software bis hin zu deren praktischen Anwendbarkeit optimiert werden kann.

DevOps Konzept

Vier Merkmale zeichnen DevOps dabei aus:

  1. Geschäftlicher Nutzen (des Kunden) im Mittelpunkt

Welche Funktionen werden wirklich benötigt, weil sie regelmäßig genutzt werden? Doch was bringt agil entwickelte Software, die nicht ebenso agil in Betrieb genommen wird? Deshalb die Formulierung „Agilität zu Ende denken“.

  • Automatisierung über den gesamten Software-Lebenszyklus hinweg

Wie sind die Prozesse aktuell, was davon kann auf welche Weise automatisiert werden? Wie steht es um das Testen, die Builds, die Deployments und die Infrastruktur-Provisionierung?

  • Selbständige Teams

Welche Freiheiten (und Rahmenbedingungen) brauchen Teams, damit sie die Verantwortung für ihre Software übernehmen können? Mit wem sind diese agilen, cross-funktionalen Teams zu besetzen?

  • Kultur der Zusammenarbeit, Experimentierfreude und ständigen Verbesserung

Ausgehend von der Frage, was erreicht werden soll, arbeiten alle benötigten und damit betroffenen Personen auf Augenhöhe miteinander zusammen. Sie verproben Ideen, entwickeln die Guten weiter und verwerfen nicht passende Ideen wieder. Dabei wird regelmäßig geprüft, was an der Software und im Prozess der Software-Entwicklung und des Betriebs noch verbessert werden kann.

Was ich daran mag? Das hängt an keiner Technologie. Das lässt sich beispielsweise mit Java, C#, Oracle APEX, JavaScript, für mobile Anwendungen oder im Analytics-Bereich anwenden. Es geht um ein grundlegendes Konzept. Dieses greift Prinzipien wie Lean oder Theory of Constraints auf, die in anderen Branchen seit Jahren etabliert sind und überträgt sie in die Softwarebranche. Selbst eine Andon-Chord, die bei Toyota zur Unterbrechung der Produktion führt, wenn Fehler nicht schnell genug korrigiert werden können, lässt sich bei Fehlern im produktiven Betrieb von Software umsetzen.

DevOps-Reife zahlt sich aus

Die Märkte verändern sich. Die Digitalisierung schreitet voran. Als Unternehmen ist es wichtig, anpassungsfähig zu sein, um das Überleben zu sichern. Die Herausforderung besteht darin, schneller und besser die allgemeinen Veränderungen des Marktes, die Wünsche der Kunden nach professionellen und komfortablen Lösungen und mögliche disruptive Ideen der Wettbewerber zu antizipieren und agil aufzugreifen. Genau dabei hilft DevOps. Wer dran bleibt und sich weiterentwickelt, wird mit

  1. höherer Qualität der Software-Lösungen und Prozesse im Software-Lebenszyklus,
  2. kürzerer Time-to-Market,
  3. besserem Product-Market-Fit und
  4. Kostenersparnissen

belohnt. Und das sind für mich vier gute Gründe DevOps einzuführen.

DevOps ist wie ein Garten mit Mähroboter

Stellen Sie sich vor, Sie wollen Ihre jährliche Gartenparty feiern. Dazu nutzen Sie einen Teil des Gartens, den Sie ansonsten sich selbst überlassen. Die Wiese ist so hochgewachsen, dass Sie mit dem Mäher nicht mehr durchkommen. Ihnen bleibt nur die Handarbeit mit der Sense. Sie wissen noch, dass irgendwo ein größerer Stein lag, den genauen Ort haben Sie jedoch vergessen. Also sind Sie sehr aufmerksam, wo Sie mit der Sense arbeiten. Gerade kommt Ihre Frau heraus und fragt, wie es läuft, da treffen Sie mit der Sense den Stein…

Erst viel später sind Sie fertig mit dem Mähen. Höchste Zeit, die restlichen Vorbereitungen zu tätigen…

Nach der Party entscheiden Sie sich, einen Mähroboter anzuschaffen. Sie wählen sich ein Modell aus, lassen die Führungs-Leitungen verlegen, passen hier und da den Garten geringfügig an, z.B. legen Sie noch eine Reihe Steine vor der Gartenmauer, da der Mähroboter nicht bis an die Wand mähen kann. Nach einigen Wochen merken Sie die Kleinigkeiten, wo Sie das Kabel oder andere Dinge anpassen könnten. Ab dann reicht es aus, regelmäßig nach dem Mäher zu sehen, ihn mit wenig Aufwand zu pflegen. Ansonsten hält er Ihren Rasen angenehm kurz. Dieser wächst dichter und sieht viel schöner aus. Jetzt könnten Sie jederzeit eine Gartenparty feiern, wenn Sie wollten. Mit erheblich weniger Aufwand. Oder Sie kümmern sich um andere schöne Dinge, die Ihnen wichtig sind und zu denen Sie sonst nicht kämen.

So ist DevOps aus meiner Sicht: Sie investieren in das Grundsystem, bauen die Deployment-Pipeline auf, kümmern sich um die Testautomatisierung und die Infrastruktur auf Knopfdruck – und können dann jederzeit deployen. So oft Sie wollen. Sie beobachten das System, warten es, so wie der Mähroboter gepflegt wird.

DevOps ist zugleich (!) wie das Fahren eines E-Bikes

Stellen Sie sich vor, Sie wollen mit einem Rad auf den Gipfel eines Berges. Es geht Ihnen nicht primär um die Anstrengung und Beanspruchung der Muskeln, sondern Sie wollen die wundervolle Aussicht genießen.

Wollen Sie lieber ein klassisches Rad, mit passenden Über- bzw. Untersetzungen, geringem Gewicht und niedrigem Rollwiderstand? Oder wollen Sie die Vorzüge eines E-Bikes nutzen, das Ihren Kräfteeinsatz mit motorisierter Kraft unterstützt?

Mit einem E-Bike kommen Sie mit weniger Kraftaufwand schneller ans Ziel. Selbst treten müssen Sie allerdings schon noch. Sonst schaltet sich der Motor nicht ein.

So ist es für mich auch mit DevOps: Gelingt die cross-funktionale Zusammenarbeit, dann kommt ein Team mit weniger Kraftaufwand schneller zu Ergebnissen, die die Nutzer von Systemen zufriedenstellen.

Es braucht beides: Die Technik und die Kultur, um das Beste aus DevOps zu gewinnen.

Wie wollen Sie Ihren Software-Lebenszyklus zukünftig gestalten?

Entscheiden Sie sich für Ihren Weg in die Zukunft: Wollen Sie bei den bisherigen Praktiken bleiben, erhalten Sie erfahrungsgemäß die Ergebnisse wie bisher. Wenn Sie damit zufrieden sind und sich sicher sein können, dass das auch in Zukunft so bleibt, ist alles gut.

Wenn Sie allerdings im Vergleich zu Ihrer aktuellen Lage von

  • höherer Qualität Ihrer Software-Lösungen und Ihrer Prozesse im Software-Lebenszyklus,
  • kürzerer Time-to-Market,
  • besserem Product-Market-Fit und
  • Kostenersparnissen

profitieren wollen, ist DevOps ein passender Weg.

Die Entscheidung liegt ganz bei Ihnen, ob Sie die Vorteile von DevOps erleben wollen. Für mich jedenfalls ist das hier dargestellte Verständnis von DevOps die natürlichste Art, Software zu entwickeln und zu betreiben.

Categories:

Tags:

Keine Kommentare vorhanden.

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.