Die Begrifflichkeiten
DevOps
DevOps gilt in der heutigen IT-Branche als eine unverzichtbare Methode, um Softwareentwicklungsprozesse effektiv zu optimieren. Welche Auswirkungen hat diese Methodik auf Betriebsprozesse und agile Teams?
Die Begrifflichkeiten
DevOps setzt sich aus den Begriffen Entwicklung (Dev) und Betrieb (Ops) zusammen. Allgemein gesagt, sollen Softwareentwicklungsprozesse beschleunigt und die Kommunikation zwischen den verschiedenen Teams verbessert werden. Es gibt einige DevOps Methoden wie Continuous Delivery, Continuous Integration, Microservices, Infrastruktur in Form von Code, Überwachung und Protokollierung sowie Kommunikation und Zusammenarbeit.
DevOps basiert beispielsweise auf dem Prinzip des CD (Continuous Delivery): Der Kunde erhält eine zufriedenstellende Software, die kontinuierlich und frühzeitig bereitgestellt wird. Die Softwareentwicklungsprozesse sollen ausgedünnt werden und Prozesse automatisiert werden.
Wichtig ist herauszustellen, dass Silodenken überwunden werden soll – Entwicklung und Operations gehen Hand in Hand.
Der DevOps-Lebenszyklus
Der Lebenszyklus kann in 8 Phasen in einer Endlosschleife unterteilt werden – dabei greifen die Entwicklung (linke Schleife) und die Operations (rechte Schleife) ineinander.
In jeder Phase arbeiten die Teams eng miteinander. So werden Ausrichtung, Geschwindigkeit und Qualität sichergestellt.
DevOps vermittelt zwischen Operatoren und Entwicklern (Developer) als Schnittstelle.
Agile Methodiken
Ein Modell ist SAFe (Scaled Agile Framework), die darauf abzielt, agile Methodiken projektübergreifend anzuwenden. Die Teams arbeiten zusammen und die Prozesse sollen möglichst effizient aufeinander abgestimmt sein.
Agile Prozesse basieren häufig auf dem Werkzeug „Scrum“. Dieses bezieht sich auf einen offenen Umgang mit Änderungsanforderungen zu jedem Entwicklungszeitpunkt. So soll ein Wettbewerbsvorteil sichergestellt werden. Flexibilität steht hier weit oben auf der Prioritätenliste.
Gemeinsam stark
Auf den ersten Blick scheinen die beiden Methodiken verschieden – es gibt hier jedoch einige Gemeinsamkeiten.
- Beide Prinzipien verfolgen das gleiche Ziel: Verbesserung der Softwareentwicklung und dessen Bereitstellung.
- Vertrauen ist gut – Kontrolle ist besser: Durch Tests wird die Zuverlässigkeit der Software sichergestellt. Zahlreiche Testingmethoden sichern die Funktionalität.
- Kontinuität: Reviews sichern die regelmäßige Reflexion, sodass die Produktivität und eine effiziente Zusammenarbeit sichergestellt werden. Kundenzufriedenheit hat hier eine tragende Rolle.
Wie kann DevOps in agile Methodiken und die daraus resultierenden Betriebsprozesse integriert werden?
DevOps bietet Entwicklern die Möglichkeit zur Selbstverwaltung. Entwickler können beispielsweise im Testing selbst agieren, ohne nach jedem Schritt auf die Mitwirkung von anderen Teams oder Teammitgliedern angewiesen zu sein. Das DevOps System lässt sich in agile Prozesse integrieren, verhindert unnötige Zwischenschritte und spart so Zeit und bietet Entwicklern eine effizientere Arbeitsweise.
Die gestellten Tasks und die damit verbundene Verantwortung und Qualitätsansprüche werden beherzigt. So können die Ressourcen optimal genutzt werden und den Unternehmen einen wirklichen Mehrwert bieten.
Wichtige Punkte sind:
- Automatisierung von Abläufen: Effizienz ist hier das Stichwort.
- Zusammenarbeit des gesamten Teams: Das Operation-Team sollte mit den Entwicklern an einem Tisch sitzen, um Probleme frühzeitig zu entdecken und zu eliminieren.
- Kritische Hinterfragung: Ist die Zusammenarbeit effektiv? Wie können Verzögerungen vorzeitig erkannt und vermieden werden? Das betrifft z.B. die Übergabeprozesse im Team. Hier bietet beispielsweise Scrum die ideale Möglichkeit, den vergangenen Sprint zu reflektieren und aus Problemen zu lernen. Auch können kurzfristige Änderungsanforderungen zu jedem Sprintwechsel integriert werden.
Fazit
Durch die Nutzung von DevOps können Softwareentwickler unabhängiger und effizienter arbeiten. Zudem kann Silodenken vermieden werden und eine leistungsstarke, zuverlässige Projektmanagementkombination geschaffen werden. DevOps bereichert agile Teams mit einem grundlegenden Wandel der Denkstrukturen, ohne die Anpassungsfähigkeiten des agilen Teams einzuschränken. Die Kommunikation wird verbessert und der Mehrwert für den Kunden maximiert.
Quellen:
https://aws.amazon.com/de/devops/what-is-devops/
https://www.atlassian.com/de/agile/devops
https://aws.amazon.com/de/compare/the-difference-between-agile-devops/
https://www.atlassian.com/de/devops
https://www.atlassian.com/de/devops/frameworks/calms-framework