Agile Softwareentwicklung ist heutzutage die Methode der Wahl für Software-Shops. Es gibt aber immer noch Organisationen, die Agile in ihrer Softwareentwicklung nicht praktizieren und möglicherweise an der Einführung von DevOps interessiert sind.
Wenn ich Agile Software Development sage, meine ich alle Nachkommen, die aus dem Manifest für Agile Software Development hervorgegangen sind . Wie Extreme Programming , Scrum , Lean Software Development und andere.
Ist die agile Softwareentwicklung eine zwingende Voraussetzung für die Einführung von DevOps auf Organisationsebene?
Antworten:
Agile Software-Entwicklung ist für DevOps nicht erforderlich , aber ich glaube, man kann argumentieren, dass das Wertversprechen für DevOps ohne Agile oft viel niedriger ist.
DevOps ist eine Menge Dinge, aber Automatisierung ist ein zentrales Thema. Der Wert der Automatisierung steigt direkt proportional zu der Häufigkeit, mit der die Entwicklung neue Releases erstellt. Häufige Bereitstellung wirkt sich positiv auf bestimmte Produkttypen aus, insbesondere auf Verbraucheranwendungen. Hohe Geschwindigkeit während des gesamten Lebenszyklus der Softwarebereitstellung liefert Wert für jede Iteration (hat jemand die CA-Anzeige gesehen, in der die Zombies neue Funktionen in ihren Apps wünschen?)
Ohne Agile sind Hochfrequenz-Releases äußerst schwierig, wenn nicht sogar unmöglich. Wenn das Entwicklungsteam einmal im Quartal oder zweimal im Jahr Software veröffentlicht, kann DevOps den Prozess trotzdem automatisieren. Aber worum geht es dann? Die Investition in Zeit, Schulung und Ressourcen für die Einführung von DevOps kann sich teilweise in der Qualität niederschlagen. Der beste Wert liegt jedoch in der Aufrechterhaltung einer hohen Geschwindigkeit über den gesamten Lebenszyklus der Lieferung.
Man könnte auch argumentieren, dass Sie, wenn Sie DevOps einführen wollen, warum nicht auch Agile einführen würden ? Die Prinzipien, die sie beide arbeiten lassen, arbeiten gut zusammen. Das Üben von DevOps ohne Agile kann zu einem Ungleichgewicht zwischen Ops und Dev führen, bei dem Ops die Leistung von Dev bei der Servicebereitstellung übertrifft.
quelle
NEIN
Ich würde argumentieren, dass die Mature DevOps-Operation einen Mature Agile-Prozess erfordert . Es ist unwahrscheinlich, dass Sie in der Lage sind, das volle Vertrauen für eine kontinuierliche Bereitstellung zu gewinnen oder Ihren Entwicklern zu ermöglichen, den Bereitstellungsprozess zu initiieren, ohne dass ein ausgereifter Agile-Prozess vorhanden ist.
Ich halte es jedoch für sehr wichtig, klar zu stellen, dass eine Organisation ihren agilen Prozess NICHT übernehmen muss, bevor sie ihre DevOps-Kultur und -Infrastruktur aufbaut. In der Tat würde ich argumentieren, dass es tatsächlich einfacher ist, Agile zu übernehmen, wenn Sie einige grundlegende DevOps in Ihrem Unternehmen haben. Anstatt Agile eine Voraussetzung für DevOps zu sein, würde ich empfehlen, DevOps zu verwenden, um Ihre agile Implementierung voranzutreiben.
quelle
Auf der Agile 2008-Konferenz diskutierten Andrew Clay Shafer und Patrick Debois über "Agile Infrastructure". Dies war der Beginn der DevOps-Bewegung.
Obwohl DevOps seine Wurzeln im Agile Manifest hat, ist es nicht unbedingt erforderlich, dass die Entwicklungsteams agil sind. Es ist in der Tat wichtig, dass die meisten agilen Prinzipien befolgt werden. Es ist jedoch keine spezifische agile Methodik vorgeschrieben. Wenn das Entwicklungsteam eine eigene Arbeitsweise entwickelt und dabei mehr oder weniger die agilen Prinzipien einhält, können Sie die Vorteile erkennen.
quelle
Nicht unbedingt; Wie die anderen Antworten bereits sagten, können sich agile Methoden und DevOps-Mentalität gegenseitig ausbauen. Für mich ist DevOps jedoch umfassender als agile oder schlanke Entwicklungsanstrengungen. Unternehmen, die DevOps einsetzen, betrachten den gesamten Wertstrom, einschließlich Betrieb, Entwicklung, Produktdesign, Marketing, Sicherheit usw. Die Bewegung kann in jedem Silo mit der Absicht entstehen, Barrieren abzubauen.
quelle
IMHO es nicht brauchen zu.
Von DevOps (Schwerpunkt meiner):
Ich habe hervorgehoben,
can happen
wie es nicht istmust happen
.Nichts in der obigen Beschreibung erfordert tatsächlich eine agile Entwicklungsmethodik.
Ich vermute jedoch, dass bei Übergängen zu DevOps häufig agile Methoden in den Entwicklungsprozess einbezogen werden, da sie wirklich gut zusammenpassen.
quelle
Das Konzept der Devops ist gerade wegen der Verbreitung von Agile entstanden, daher ist es angebracht, die Devops-Ansätze in einem Agile zu verwenden. Beispielsweise wird bei agiler, kontinuierlicher Integration (die Teil des Devops-Ansatzes ist) die Orchestrierung von Diensten und Containern zum Testen und Ausrollen neuer Releases für Test- und Produktumgebungen verwendet.
quelle