Denken Sie auch, dass DevOps nichts für Sie ist? Dass man DevOps für SAP nicht nutzen kann?
Oder haben sie den Wunsch, auf DevOps umzusteigen, doch wissen nicht, ob Sie sich auf dem richtigen Weg befinden?
In der Realität des DevOps-Ansatzes ist nicht immer eindeutig erkennbar, ob DevOps genutzt wird oder nicht. Es ist ohnehin eher ein Weg, den man beschreitet und auf dem viele verschiedene potenzielle Meilensteine erreicht werden müssen.
Die meisten Unternehmen, mit denen wir zusammenarbeiten, sehen sich nicht als ein Unternehmen, das DevOps anwendet. Doch im weiteren Gespräch stellen wir fest, dass viele von ihnen schon einen DevOps-Ansatz in ihrem Auslieferungsprozess verfolgen. Sie nennen es nur anders.
Diese Unternehmen erfüllen vielleicht nicht alle Kriterien einer „idealen“ DevOps-Denkweise und sie liefern mit Sicherheit auch nicht in derselben Geschwindigkeit wie Amazon oder Netflix aus. Doch was diese Unternehmen verbindet, ist die Idee, Mehrwert zu schaffen, ob nun durch eine umfangreiche globale Änderung oder wie meist üblich, durch schrittweise und iterative Änderungen.
Wenn Sie herausfinden möchten, ob sie auf dem richtigen Weg hin zu DevOps sind, sollten Sie sich diese zehn Fragen stellen:
1. Wollen Sie Ihre Freigabezyklen beschleunigen?
Sie stellen fest, dass Ihr Team die Auslieferung von Software beschleunigt und die Qualität erhöht. Der Umfang Ihrer laufenden Arbeiten pro Projekt ist gering, Rückstaufälle gehen in ihrem Auslieferungs-Workflow langsam zurück und die Bereitstellungen verlaufen immer schneller und mit weniger Nacharbeiten.
Mehr Prüfungen, schnellere Einzelfreigaben und ein höherer Qualitätsstandard werden Bestandteil Ihrer Auslieferungen. Die Zykluszeiten werden immer kürzer und das bei schnellerer Arbeitsgeschwindigkeit. Sie verfügen über einen effizienten Prozess mit kontinuierlicher Auslieferung. Die langwierigen und mühevollen Arbeitsschritte, um eine neue Anwendung in die Produktion zu bringen, gehören der Vergangenheit an.
Lautet die Antwort Nein? Bedarf: Umfassender Support für die Anwendungsauslieferung.
2. Nutzen Sie vollkommen automatisierte Prozesse?
Die Bereitstellung an die Produktion ist vollkommen automatisiert und sollten Fehler auftreten, können Sie automatisch zum vorherigen Zustand zurückkehren. Wenn Sie Bereitstellungen manuell durchführen, ist der Ansatz alles, aber nicht DevOps. Manuelle Bereitstellungen sind fehleranfällig und führen zu geringerer Qualität des Codes. Automatisierte Bereitstellungen beschleunigen den Prozess und bieten einen stabilen Änderungs-Workflow, ohne dass manuell eingegriffen werden muss.
Lautet die Antwort nein? Bedarf: Ein Tool, das systemübergreifende Bereitstellungen automatisiert und koordiniert.
3. Nutzen Sie kontinuierliche Integration mit automatisierten Komponententests wo immer möglich?
Sie programmieren und testen nicht mehr manuell und konnten vermeidbare Verzögerungen reduzieren. Kontinuierliche Integration erfordert, dass Code-Änderungen von den Entwicklern in sehr regelmäßigen Abständen in ein zentrales Verzeichnis integriert werden. Jede Änderung wird von automatisierten Programm- und Komponententests verifiziert (wenn möglich durch automatisierte Integrations- und Regressionstests). Wenn der Build-Code oder einer der Tests nicht bestanden wird, wird dies dem Team umgehend gemeldet.
Automatisierte Komponententests haben Ihren Ansatz in der Entwicklung grundlegend verändert und Ihr Vertrauen in einzelne Code-Komponenten gesteigert. Die Größe der Komponenten muss so gewählt werden, dass sie nicht überproportional viel Zeit für das Schreiben komplexer Testfälle aufbringen müssen.
Lautet die Antwort nein? Bedarf: Ein testgetriebener Entwicklungsansatz.
4. Nutzen Sie mehr Ressourcen für automatisiertes Testen als für manuelles Testen?
In Ihren Testing-Prozessen ist so gut wie alles automatisiert.
Idealerweise sollte wirklich alles automatisch ablaufen, denn manuelle Prozesse sind langsam und kostspielig. Wenn wir realistisch sind, gibt es auch bei DevOps manuelles Testing. Einige Dinge sind einfach nicht anders möglich, aber alles was automatisiert werden kann, muss auch automatisiert werden.
Lautet die Antwort nein? Bedarf: Eine Möglichkeit, die Kosten und den Aufwand für manuelle Tests zu reduzieren.
5. Arbeiten Ihre Entwickler, Tester und Betriebsexperten eng miteinander?
Sie haben verstanden, dass Kommunikation und Zusammenarbeit für eine effiziente Änderungsauslieferung unabdingbar sind. Wenn Ihre Entwickler, Tester und Betriebsexperten nicht miteinander kommunizieren, sind Sie von DevOps noch weit weg.
Ein Anzeichen für erfolgreiche Kommunikation ist, wenn Entwickler und Tester Systeme nutzen, die der Produktion ähneln und mit produktionsähnlichen Daten arbeiten.
Lautet die Antwort nein? Bedarf: Umfassende Zusammenarbeit im gesamten Unternehmen.
6. Haben ihre Entwickler, Tester und Betriebsexperten gemeinsame, unternehmensorientierte Ziele?
Ihre verschiedenen Entwicklungsteams arbeiten zusammen, doch sie stehen auch mit Vertretern des Unternehmens in engem Kontakt, um Ziele gemeinsam zu verfolgen. Sie können hinsichtlich der Machbarkeit gestellter Anforderungen jederzeit Feedback bieten. Unternehmensziele sind für Entwickler und Tester unter Umständen sekundär, doch eben diese Ziele zu erreichen, sollten Sie gemeinsam anstreben.
Kommunikation und Zusammenarbeit sollten stets darauf bedacht sein, dass jeder einen maximalen Beitrag zu schnellerer Auslieferung von Projekten in der Pipeline leisten kann.
Lautet die Antwort nein? Bedarf: Ziele und Kennzahlen für kontinuierliche Verbesserung.
7. Verfügt ihr Team über komplette Sichtbarkeit aller Änderungen?
Sie müssen sich nicht mehr mit Situationen auseinandersetzen, als Änderungen am Code verspätet vorgenommen (oder in extremen Fällen sogar ignoriert) wurden, weil Genehmiger keinen umfassenden Überblick hatten und nicht wussten, wie wichtig gewisse Änderungen sind und welche Auswirkungen sie haben würden.
Wenn Sie einen kompletten Auditverlauf und einen strukturierten Freigabe-Workflow eingerichtet haben, verfügt das Management über das erforderliche Wissen, Arbeiten freizugeben oder je nach Anforderungen an Teammitglieder zu delegieren.
Die Delegation von Verantwortung erhöht die Effizienz von Ressourcen, verbessert die Zusammenarbeit, steigert das Niveau des geteilten Wissens im Team und verbessert die Gesamtqualität und Liefergeschwindigkeit.
Lautet die Antwort nein? Bedarf: Volle Sichtbarkeit über alle Änderungen am Code mit umfassendem Auditverlauf.
8. Können Sie Probleme in der Qualität des Codes bereits zu Beginn des Entwicklungsprozesses und deutlich vor der Produktionsphase eindeutig erkennen?
Sie bemerken riskante Änderungen bereits frühzeitig im Entwicklungsprozess und reduzieren dadurch die Menge an Bereitstellungsfehlern im weiteren Projektverlauf.
Zu wenige Qualitätsprüfungen zu Beginn des Entwicklungs- und Testing-Prozesses reduzieren die Geschwindigkeit, mit der Änderungen an das Unternehmen ausgeliefert werden, was unweigerlich zu höheren Gesamtkosten führt. Egal, ob es sich um minderwertigen Code oder falsche Abläufe handelt, Sie müssen sie erkennen und Probleme frühzeitig angehen.
Lautet die Antwort nein? Bedarf: Fortgeschrittene Analysefunktionen, die technische Objekte in jedem Transport bei einem Release prüfen.
9. Verfügen Sie über Feedback-Mechanismen, mit denen Sie Ihre Prozesse kontinuierlich beurteilen können, um Verbesserungen und Fortschritt umzusetzen?
Ein konstantes Feedback zur Performance ist ein wichtiger Bestandteil einer erfolgreichen Umsetzung, wenn Sie die vielen Vorzüge von agiler Softwareentwicklung und DevOps nutzen wollen.
Sie haben einen geregelten, iterativen Prüfprozess eingerichtet, der alle Arbeiten validiert und erkennt, was in Zukunft besser gemacht werden könnte, so dass Sie stets genau wissen, wo ein Fehler liegt, wenn etwas schiefgelaufen ist. Sie können das Problem umgehend lösen und sicherstellen, dass es nicht wieder auftritt.
Klare Ziele, Meilensteine und Messgrößen bieten die Möglichkeit, die vollbrachte Leistung und Fehler zu erkennen und – wenn erforderlich – schnell den Blick wieder auf das tatsächliche Ziel zu richten.
Lautet die Antwort nein? Bedarf: Eine Projektübersicht in Form eines Dashboards und komplette Zusammenarbeit in einem Tool.
10. Wissen Sie um die Bedeutung von Analysedaten?
Sie können die Performance der Entwicklungs- und Testing-Projekte dank relevanter Messgrößen und Kennzahlen bestimmen und nutzen Tools, die es Ihnen erlauben, die gewünschten Informationen aufschlussreich verfügbar zu machen.
Das bedeutet, dass Sie Antworten auf Kernfragen erhalten, z. B. wo Wertpotenziale liegen, wo Verschwendung auftritt und welche Kosten Änderungen und Ineffizienzen verursachen.
Detaillierte Analysedaten helfen Ihnen zu verstehen, wo Ihr Vorteil im Vergleich zu Wettbewerbern liegt.
Lautet die Antwort nein? Bedarf: Analyse-Tools zur Anzeige von Rückstau und Ineffizienz.
Gut.
Sie haben inzwischen ein Gefühl dafür, an welchem Punkt auf der Reise zu DevOps Sie sich befinden.
Haben Sie alle 10 Fragen mit „Ja“ beantwortet? Gut gemacht! Was können Sie noch tun? Kontinuierliche Verbesserung und Einbetten der Sicherheitsvorkehrungen in DevOps (DevSecOps) könnten ein Anfang sein. Führen Sie DevOps in weiteren Bereichen des Unternehmens ein. Zuviel Zusammenarbeit gibt es nicht, und die Verbesserungen kommen allen zugute.
Wenn Sie noch nicht alle Fragen mit „Ja“ beantwortet haben, besteht trotzdem noch Hoffnung.
DevOps bedeutet, dass der End-to-End-Flow hin zu neuen Funktionen und Geschäftsanforderungen optimiert und verbessert wird. Der Fokus liegt auf den Unternehmenszielen und nicht auf der IT, und Verbesserungen haben noch niemandem geschadet, egal wo Sie anfangen.
Versuchen Sie:
- die Häufigkeit der Bereitstellung zu steigern und schnellere Produkteinführungszeiten zu erreichen
- die Fehlerraten bei neuen Freigaben zu senken
- die Vorlaufzeiten zwischen Fehlerbehebungen zu verkürzen
- die Durchschnittszeiten bis Wiederherstellung zu beschleunigen
dann haben Sie die erforderliche DevOps-Mentalität. Alles ist nur eine Frage der praktischen Umsetzung. Wenn nicht, benötigen Sie unter Umständen Hilfe oder einen ganz anderen Ansatz.
Wenn Sie mehr über die Tools und Prozesse erfahren wollen, die Sie bei der Auslieferung von IT-Produkten weiterbringen können, setzen Sie sich mit uns in Verbindung und wir zeigen Ihnen, was es braucht, um eine kontinuierliche Auslieferung in Ihrem Unternehmen zu verankern.