Ich war schon immer davon überzeugt, dass Operations, der Bereich von DevOps, auf Agile-Werten basieren sollte. Damit meine ich, kleine Releases umzusetzen und euren Deployment- und Release-Prozess daran anzupassen, wie sich das System verhält, und bei Bedarf korrigierend einzugreifen. Kleine Iterationen und Feedback sind dabei entscheidend.
Kalle Mäkelä
Kalle is an automation-driven engineer who drives BEVs, marvels at space whenever he can, and always looks on the bright side of life.
Außerdem braucht ihr Agile Betriebsabläufe, um Feedbackschleifen von Endnutzern und den von euch genutzten Umgebungen zu ermöglichen. Das beschreibt das Konzept von DevOps als „Agile Infrastruktur“.
Meiner Meinung nach war das Agile Manifesto schon immer die wichtigste treibende Kraft der DevOps-Bewegung! Und das mag aus dem Mund eines DevOps-Architekten seltsam klingen.
Warum also einen anderen Begriff als Agile verwenden? Warum überhaupt den Begriff DevOps nutzen?
Die Ursprünge von Agile und DevOps
Als das Agile Manifesto im Februar 2001 entstand, war der IT-Betrieb meiner Ansicht nach noch nicht bereit für diesen Wandel. Deshalb entstand sieben Jahre später, 2008, der Begriff DevOps, um dieses starre Betriebsproblem und die kulturelle Kluft zwischen Entwicklung und Betrieb anzugehen. Software über eine Ticketwand für Managed Services zu erstellen, ist einfach nicht Agile!
Das Agile Manifesto hatte all die Jahre zuvor den Grundstein für DevOps gelegt. In seinem ersten Prinzip führte es den Begriff Continuous Delivery ein: „Kunden durch die frühe und kontinuierliche Bereitstellung wertvoller Arbeit zufriedenzustellen.“ In den folgenden sieben Jahren trugen technologische und ideologische Innovationen dazu bei, eine neue Praxis der Softwarebereitstellung namens Continuous Delivery (CD) zu formen.
Continuous Delivery als Konzept schuf schließlich die Grundlage dafür, dass DevOps-Praktiken und -Tools ihre Wirkung entfalten konnten. Diese DevOps-Praktiken würden dazu beitragen, die technischen, psychologischen und organisatorischen Kluften zwischen Entwicklung und Betrieb zu überbrücken – und später auch zwischen weiteren Gruppen, die an der Entstehung von Software beteiligt sind.
Zusammenfassend lässt sich sagen: Das Phänomen DevOps begann auf dem Boden von Agile zu wachsen!
DevOps ist eine Erweiterung von Agile
DevOps ist ein Oberbegriff für alle Faktoren, die Agile Softwarebereitstellung für Endnutzer ermöglichen – etwa Testautomatisierung, Infrastructure as Code (IaC) und Application Performance Monitoring (APM). Idealerweise bauen diese Faktoren auf einer CD-Pipeline zur Erstellung dieser Software auf. DevOps ergänzt die Agile Methodik der Softwareentwicklung – unabhängig davon, welche Art von Agile euer Team nutzt.
Ich würde sogar so weit gehen zu sagen, dass ihr heute nicht Agile sein könnt, ohne DevOps-Methoden und -Praktiken in euren Softwareentwicklungsprozess zu integrieren.
Ohne die Kultur, Prozesse und Praktiken von DevOps umzusetzen, entwickelt ihr Teile eurer Software – etwa einzelne Features – zwar Agile, betrachtet aber nicht die gesamte Lösung als ein System. Wenn ihr nicht das gesamte System berücksichtigt, stoßt ihr beim Deployment und Betrieb der so effizient entwickelten Software an eine Grenze.
Denkt daran: In der heutigen IT-Welt ist alles Code, einschließlich eurer Infrastruktur und eurer Geschäftsanforderungen.
DevOps verankert Agile in der IT
Ein weiterer wichtiger Punkt betrifft die kulturellen Aspekte der Softwareentwicklung. Ihr solltet Agile tatsächlich „sein“. Ich bin fest davon überzeugt, dass man Agile nicht einfach nur „macht“! Agile ist kein Prozess und keine Methodik an sich. Es ist vielmehr eine Denkweise, bei der ihr euer Handeln anhand von Feedback anpasst.
Um diesen Punkt zu verdeutlichen, sage ich gern: Ihr könnt Zimtschnecken mit einer Agile Softwareentwicklungsmethodik wie Scrum backen. Mit DevOps geht es jedoch tatsächlich um Praktiken in der IT sowie in der Produkt- und Serviceentwicklung!
DevOps gibt Agile Methoden der Softwareentwicklung einen funktionierenden Rahmen für die komplexe IT-Welt.
Agile und DevOps sind sich ergänzende Wertesysteme
Erfolgreiche Softwareentwicklung hängt von euren Überzeugungen darüber ab, wie Software richtig entwickelt wird. Die Überzeugungen, auf denen Agile basiert, überschneiden sich vollständig mit denen von DevOps:
Individuen und Interaktionen
Funktionierende Software
Zusammenarbeit mit Kunden
Auf Veränderungen reagieren
Daher ist DevOps eine Erweiterung von Agile. Es ist auch ein leistungsstarker Wegbereiter für Agile, insbesondere in großen Unternehmen wie in der Telekommunikationsbranche – durch teamübergreifende Zusammenarbeit und Automatisierung, etwa durch End-to-End-Akzeptanztests, Performance-Tests, automatische Regression-Dashboards und IaC.
Letztlich macht DevOps diese großen Unternehmen in einem unsicheren Geschäftsumfeld deutlich Agile-fähiger.
- DevOps
- Agile
Subscribe to our newsletter
Related blogs