28.01.2022 -
Auf der Plattform DevOps.com dreht sich, nicht ganz überraschend, alles um DevOps. Aber DevOps ist nicht gleich DevOps. So viele Strömungen, Ideen und Ansätze kommen unter dem Dach von DevOps zusammen, dass es schwerfällt, den Überblick zu behalten. Jedes der tausenden von Frameworks steht für eine eigene Verwirklichung dessen, wie Projekte geleitet werden können. Cobit, Lean, ITIL, Six Sigma und Agile sind nur einige der bekannteren Beispiele. Alle diese Frameworks folgen ihrer eigenen Ideologie und lehnen sich an Best Practices Beispiele an, die schon früher von anderen definiert wurden.
Weiterlesen »
28.01.2022 -
Auf der Plattform DevOps.com dreht sich, nicht ganz überraschend, alles um DevOps. Aber DevOps ist nicht gleich DevOps. So viele Strömungen, Ideen und Ansätze kommen unter dem Dach von DevOps zusammen, dass es schwerfällt, den Überblick zu behalten. Jedes der tausenden von Frameworks steht für eine eigene Verwirklichung dessen, wie Projekte geleitet werden können. Cobit, Lean, ITIL, Six Sigma und Agile sind nur einige der bekannteren Beispiele. Alle diese Frameworks folgen ihrer eigenen Ideologie und lehnen sich an Best Practices Beispiele an, die schon früher von anderen definiert wurden. Frank Ohlhorst hat sich zwei der wichtigsten Frameworks herausgepickt und darüber geschrieben, wie unterschiedlich Agile und ITIL sind und was sie verbindet. Im Folgenden fassen wir
seinen Artikel für Sie zusammen.
Zwei unterschiedliche Wege zu DevOps
Die Frage, ob Agile oder ITIL der richtige Weg ist, DevOps anzuwenden, ist eine viel diskutierte Frage, die zuweilen in eine ausufernde Grundsatzdiskussion münden kann. Es ist eine dieser Fragen wie „iphone oder Android?“, „X-Box oder Playstation?“, „Microsoft oder Linux?“ Es gibt für beide Varianten viele gute Argumente. Allerdings waren Agile und ITIL bis zuletzt sehr unterschiedlich, wenn es darum ging, ein Projekt erfolgreich abzuschließen. Seit nun aber ITIL V4 veröffentlicht wurde, hat sich das ein wenig geändert. ITIL hat sich mit dieser Version sehr stark an Agile angenähert. Das macht die Frage danach, welches der beiden Frameworks denn nun das richtige ist, noch etwas schwieriger.
Früher und heute
Das Fundament von DevOps war das Prinzip nicht-iterativer Zyklen in der Veröffentlichung von Apps. DevOps hat immer alles getan, um sich vom Wasserfallprinzip zu unterscheiden und hat die Welt der Softwareentwicklung definitiv revolutioniert, es brachte einen ganz neuen Ansatz ins Spiel. Allerdings ist DevOps zunehmend in modernen Unternehmen einfach nicht mehr genug, so dass andere Methoden wie ITIL und Agile ergänzend eingebracht werden, um DevOps weiter nach vorne zu bringen. Einige Grundprinzipien von DevOps bleiben jedoch bestehen. Das Hauptziel war und bleibt es, Entwicklung und User der Apps und Programme zusammenzubringen.
Best Practices
Zu den wichtigsten Aspekten von DevOps gehört die Förderung von Zusammenarbeit und Teamwork, die stetige Verbesserung der Kommunikation, das Teilen von Wissen und Informationen und die automatische Dokumentation all dessen, was im Projekt passiert. Man könnte vereinfacht sagen, dass Teamwork und kontinuierliches Testen die Grundpfeiler von DevOps sind. Eine der wichtigsten und großartigsten Eigenschaften von DevOps ist seine herausragende Anpassungsfähigkeit. Die meisten traditionellen Softwareentwicklungsframeworks beruhen auf der Wasserfallmethode. Bei dieser Methode werden alle Parameter am Anfang des Prozesses definiert und am Ende steht eine neue Software. Diese Methoden können sich aber an veränderte Rahmenbedingungen oder Anforderungen kaum anpassen. DevOps hat aber so großen Erfolg, weil es verstanden hat, dass Wandel konstant ist. Alles verändert sich ständig, also auch mitten im Entwicklungsprozess. Trotzdem müssen sich ändernde Anforderungen natürlich erkannt, erfasst, verfolgt und berichtet werden. Es muss also auch nicht selten die Arbeitsbelastung angepasst oder das Team verändert werden. Teamleiter müssen also jederzeit genau wissen, wer woran arbeitet und wie sich die Anforderungen zu den Fähigkeiten und Kapazitäten im Team verhalten.
Flexible Teams und automatisches Testen
Es gibt zahlreiche Tools, um den Projektfortschritt automatisch und manuell festzuhalten und damit einen Überblick darüber zu behalten, wie produktiv das Team gerade ist und an welcher Stelle im Prozess gegebenenfalls noch Verbesserungen durchgeführt werden können. Ein Implementieren von automatischen Testreihen von Anfang an, ist von essentieller Bedeutung in DevOps. Am besten funktioniert automatisches Testen unter Zuhilfenahme von Codes in einer Sandbox-Umgebung. Jeder Code, der den Test besteht, wird in die nächste Phase weitergeleitet und jeder Code, der durchfällt, wird automatisch einen Schritt zurück gereicht, um korrigiert zu werden. Auch ein ständig aktives Feedback-System gehört zu den Erfolgsfaktoren von DevOps. So kann auch eine stetige Informationskette zwischen Entwicklern und Nutzern entstehen, die auf schnellstem Wege geänderte Anforderungen weitergibt.
Agile oder ITIL
All diese Beispiele stellen nur vereinfacht dar, was DevOps eigentlich ist und was es kann. Klar wird, dass DevOps hauptsächlich auf Zusammenarbeit und iterative Prozesse setzt. Wer nun die DevOps-Ideologie mit Agile oder ITIL vergleichen will, wirft schnell einige zusätzliche Fragen auf, vor allem, weil Agile und ITIL teils sehr verschiedene Ziele verfolgen können. Vereinfacht könnte man sagen, dass Agile darauf abzielt, den Entwicklungsprozess von Software zu beschleunigen, während sich ITIL hauptsächlich auf Prozesse und weniger auf Methoden konzentriert. Hier liegt das eigentliche Dilemma. Nutze ich nun Agile oder ITIL, um mich DevOps anzunähern?
ITIL wurde aus der Perspektive der Verwaltung des IT Servicemanagements entwickelt, um ein Framework zu schaffen, das es erlaubt, ständige Messungen durchzuführen und die Qualität von IT Services zu erhöhen.
Agile ist eher eine Ansammlung von Prozessen, die Softwareentwickler dabei unterstützen sollen, die Wünsche der Kunden zu erkennen und zu erfüllen – und das in interdisziplinären Teams. Frank Ohlhorst kommt zu dem Schluss, dass sich Agile und ITIL letztendlich ergänzen. Wo ITIL die Qualität sichert, sorgt Agile dafür, dass die ständige Verbesserung in der Entwicklung gefördert wird. Mit dem Erscheinen von ITIL V4 haben sich Agile und ITIL mehr aneinander angenähert als jemals zuvor und sie bringen im DevOps beide große Vorteile.
« Alle Beiträge