Close

Agile vs. DevOps

Was haben Agile und DevOps gemeinsam und worin unterscheiden sie sich?

Profilbild von Tom Hall
Tom Hall

DevOps-Fan und -Anwender


Als sich Anfang der 2000er Jahre agile Methoden weit verbreiteten, veränderten sie die Software- und Produktentwicklung. Doch nachdem sie sich innerhalb weniger Jahre zum Branchenstandard entwickelten, wurde deutlich, dass ein entscheidender Aspekt fehlte: Die Prozesse und Anforderungen des Betriebsteams, das für das Deployment und Management von Softwareprodukten zuständig ist, wurden von dem revolutionären Ansatz nicht berücksichtigt.

So entstand DevOps, ein Ansatz, der Entwicklungs- und Betriebsteams aufeinander abstimmt. Hat DevOps Agile ersetzt? Oder ergänzen sich die beiden Konzepte? Tatsächlich unterscheiden sie sich in einigen Punkten, es gibt aber auch Gemeinsamkeiten. Agile und DevOps können sowohl exklusiv als auch inklusiv sein und auch gleichzeitig in einem Unternehmen vorhanden sein.

Was bedeutet Agile?


Agile ist ein iterativer Ansatz für Projektmanagement und Softwareentwicklung mit dem Fokus auf Zusammenarbeit, Kundenfeedback und schnelle Releases. Er entstand Anfang der 2000er Jahre in der Softwareentwicklungsbranche und half Entwicklerteams, auf sich ändernde Marktbedingungen und Kundenanforderungen zu reagieren und sich an sie anzupassen.

Bei einem agilen Ansatz finden Planung und Design im Voraus statt, während der Entwicklungsprozess in kleine Batches unterteilt wird und eine enge Zusammenarbeit mit den Stakeholdern beinhaltet. Änderungen werden kontinuierlich eingearbeitet und eine brauchbare Version eines Produkts wird im Vergleich zu Produkten, die mit der Wasserfallmethode entwickelt werden, meist schneller veröffentlicht. Dies bietet viele Vorteile, wobei der wohl wichtigste darin besteht, dass bei Software, die den Anforderungen oder Erwartungen des Kunden nicht entspricht, in Echtzeit nachgebessert werden kann.

Agile ist eine Sammlung von Methoden, kein alleinstehender Entwicklungsansatz. Der Ansatz enthält Elemente von Scrum, eXtreme Programming (XP) und anderen Verfahren, die Entwickler in den Jahren zuvor verwendet haben, und entstand, als diese Praktiker zusammenkamen, um diese Ansätze in einem einzigen Satz von Prinzipien zu vereinen. Das Ergebnis dieser Initiative zur Vereinheitlichung war das Agile Manifest mit seinen 12 Prinzipien auf Basis von vier grundlegenden Werten.

Symbol: Zentraler Knoten
Zugehöriges Material

Lerne das CALMS-Framework kennen

Symbol: Struktur im Kopf
Zugehöriges Material

Erfahre mehr über die Geschichte von DevOps

Die vier grundlegenden Werte des Agile Manifests

Figuren, die sich einen Softwareentwicklungs-Workflow ansehen

Individuen und Interaktionen
haben Vorrang vor Prozessen und Tools.

Sich öffnender Aktenordner mit abgeschlossenen Tickets

Funktionierende Software
hat Vorrang vor umfassender Dokumentation.

Figuren, die an einer Plattform arbeiten

Die Zusammenarbeit mit den Kunden
hat Vorrang vor Vertragsverhandlungen.

Kristallkugel

Das Reagieren auf Veränderungen
hat Vorrang vor dem Befolgen eines Plans.

DevOps


DevOps ist ein Ansatz für die Softwareentwicklung, der es Teams ermöglicht, Software schneller und zuverlässiger zu erstellen, zu testen und zu veröffentlichen. Dies wird durch die Integration agiler Prinzipien und Praktiken wie verstärkte Automatisierung und verbesserte Zusammenarbeit zwischen Entwicklungs- und Betriebsteams erreicht. Entwicklung, Tests und Deployment sind sowohl in Agile als auch in DevOps zu finden. Der Betrieb wird bei Agile ausgeklammert, ist jedoch ein wesentlicher Bestandteil von DevOps.

DevOps zielt darauf ab, Entwickler, die Anwendungssoftware schreiben, und Mitglieder des Betriebsteams, die die Software in der Produktion ausführen, zusammenzubringen. Außerdem soll die Infrastruktur dort erstellt werden, wo sie auch ausgeführt wird. DevOps ersetzt den alten Ansatz von Entwicklerteams, bei dem Anwendungen programmiert und dann an Betriebsteams weitergegeben wurden, von denen die Software verwaltet wurde, ohne dass sie allzu große Einblicke in die Entwicklung hatten. In einer DevOps-Umgebung arbeiten Entwickler und Betriebsteams während des gesamten Prozesses der Entwicklung, Bereitstellung und Verwaltung von Anwendungen Seite an Seite.

Zwei gängige Frameworks für das Verständnis von DevOps sind "Three Ways" und das Akronym "CALMS" (Culture, Automation, Lean, Measurement, Sharing). Culture (Kultur) bezieht sich auf den kulturellen Wandel, bei dem Entwicklung und Betrieb zusammenhängender arbeiten. Automation (Automatisierung) erhöht die Geschwindigkeit und sorgt für eine höhere Qualität. Die Lean-Prinzipien der kontinuierlichen Verbesserung und einer positiven Einstellung gegenüber Misserfolgen sind die Grundlage einer experimentellen Denkweise. Measurement (Messung) bezieht sich auf die Praktik, Ergebnisse zu messen, um Prozesse zu verbessern. Sharing (Teilen) unterstreicht die Bedeutung von DevOps als Gruppenaufgabe und der Einführung von Best Practices.

"The Three Ways" bei DevOps

Verbundene Puzzleteile

Systemdenken
Softwareanwendungen als komplexe Systeme begreifen

Browser-Zeiger mit Wiedergabe

Erweiterte Feedbackschleifen
Bessere bidirektionale Kommunikation zwischen Teamkollegen

Figuren, die sich einen Softwareentwicklungs-Workflow ansehen

Kulturelle Veränderung
Kultur des kontinuierlichen Experimentierens und Lernens

Wann greifen Agile und DevOps ineinander?


DevOps kann als Weiterentwicklung agiler Praktiken oder als fehlendes Puzzleteil von Agile betrachtet werden. Es ist ein Versuch, die Innovationen des agilen Ansatzes auch auf Betriebsprozesse anzuwenden. Gleichzeitig repräsentiert DevOps ein fehlendes Puzzleteil von Agile, da bestimmte Agile-Prinzipien nur vollumfänglich umgesetzt werden können, wenn DevOps-Praktiken angewendet werden. Beispielsweise wird in Agile-Dokumenten mehrfach auf die Continuous Delivery von Software hingewiesen, aber da Delivery-Pipelines auch betriebliche Aspekte enthalten, wird Continuous Delivery normalerweise als DevOps-Praktik angesehen. Erweiterte Feedbackschleifen erfordern eine verbesserte Kommunikation zwischen Teams. Agile, insbesondere Scrum, erleichtert diese Kommunikation durch verschiedenen Zeremonien wie tägliche Stand-ups, Planungstreffen und Retrospektiven.

Was haben Agile und DevOps gemeinsam und worin unterscheiden sie sich?


  • Agile betont die Zusammenarbeit zwischen Entwicklern und Produktmanagement – DevOps schließt das Betriebsteam mit ein.
  • Agile zentriert den Softwarefluss von der Idee bis zur Codevervollständigung – DevOps erweitert den Fokus auf Lieferung und Wartung.
  • Agile legt Wert auf iterative Entwicklung und kleine Batches – DevOps konzentriert sich mehr auf die Automatisierung von Tests und Bereitstellung.
  • Agile strukturiert die geplanten Aufgaben von Entwicklern – DevOps beinhaltet auch ungeplante Aufgaben, wie sie in Betriebsteams häufig vorkommen.

Das Agile Manifest priorisiert explizit Einzelpersonen und Interaktionen, Arbeitssoftware, Zusammenarbeit mit Kunden und die Reaktion auf Veränderungen. Dies sind eindeutig die gleichen Prioritäten wie bei DevOps, dort erstrecken sie sich jedoch über den Entwicklungsprozess hinaus und umfassen auch die Verwaltung von Systemen und ausgeführten Anwendungen.

Darüber hinaus enthalten die 12 Prinzipien für Agile-Software Verweise auf DevOps-Prinzipien. Beispielsweise werden in den 12 Prinzipien für Agile-Software Continuous Integration (CI) und Continuous Delivery (CD), das Arbeiten an kleinen Batches mit häufigen Releases und die Verwendung von Automatisierung hervorgehoben.

Fazit: Agile UND DevOps


Letztendlich sind die Ziele von Agile und DevOps dieselben: die Verbesserung der Geschwindigkeit und Qualität der Softwareentwicklung. Aus diesem Grund ist es nicht sonderlich sinnvoll, über einen der beiden Ansätze ohne den anderen zu sprechen. Viele Teams haben festgestellt, dass agile Methoden ihnen enorm helfen, während andere Schwierigkeiten hatten, die Vorteile eines agilen Ansatzes zu erkennen. Dies kann eine Reihe von Gründen haben, einschließlich Teams, die agile Verfahren nicht vollständig verstehen oder korrekt implementieren. Es kann auch sein, dass die Einbeziehung eines DevOps-Ansatzes in Unternehmen, die Probleme mit Agile haben, Lücken schließt und ihnen zu dem erhofften Erfolg verhilft.

Atlassian verbindet die Entwicklung, IT-Operations und agile Teams mit Automatisierungen in all seinen Produkten und auch in Drittanbietertools. Weitere Informationen erhältst du unter Atlassian DevOps.

Tom Hall
Tom Hall

Tom Hall ist ein DevOps-Befürworter und -Anwender, begeisterter Leser und Amateurpianist.
In den letzten 20 Jahren hat er u. a. Zertifikate von Novell, EMC, VMware und AWS erhalten. Im Jahr 2016 half er bei der Organisation der DevOpsDays in Atlanta und in den folgenden Jahren in Austin, Texas.


Diesen Artikel teilen
Nächstes Thema

Lesenswert

Füge diese Ressourcen deinen Lesezeichen hinzu, um mehr über DevOps-Teams und fortlaufende Updates zu DevOps bei Atlassian zu erfahren.

Abbildung: DevOps

DevOps-Community

Abbildung: DevOps

Simulations-Workshop

Abbildung: Karte

Kostenlos loslegen

Melde dich für unseren DevOps-Newsletter an

Thank you for signing up