Im letzten Beitrag habe ich einige Komponenten erwähnt, die SAP-IT-Teams auf ihrem Weg zu einem vollständig implementierten DevOps-Ansatz berücksichtigen müssen, um erfolgreich zu sein. In diesem Beitrag werde ich auf die ersten beiden eingehen.

Reifung des Prozesses

Um auf dem Weg zu einem DevOps-Ansatz voranzukommen, müssen die Änderungskontrollprozesse robust sein und von allen Beteiligten klar verstanden werden. Entwicklung, QA, Tests, Unternehmen und die Funktionsteams. Es gibt verschiedene Arten von Änderungen, und daher werden Änderungen auf unterschiedliche Weise verarbeitet. Das ist keine Raketenwissenschaft, aber es ist dennoch erstaunlich, wie viele Teams immer noch mit diesem relativ einfachen Konzept zu kämpfen haben. Die Verwaltung von Änderungen mit einem einzigen Prozess, der für alle passt, wird in einer DevOps-/agilen Umgebung nicht funktionieren.

Selbst in einer DevOps- bzw. agilen Umgebung sind die entwickelten Änderungen mit unterschiedlichen Risiken behaftet. Um so viele Änderungen wie möglich zu beschleunigen, werden die Prozesse die Risikovarianz widerspiegeln und entsprechend variieren. Es ist auch sehr unwahrscheinlich, dass das Team an einem Montagmorgen als agiles Entwicklungsteam aufwacht. Daher wird es zumindest zeitweise eine Kombination von Prozessen geben müssen, die sowohl traditionelle als auch agile Methoden umfassen.

Mit der Zeit wird ein DevOps-Team seine Prozesse jedoch verinnerlicht haben und über eine Methode zur Verbesserung und Modifizierung verfügen, wenn der Ansatz ausgereift ist.

Prozessautomatisierung

Wie also verwaltet ein SAP-IT-Team seine verschiedenen Prozesse? Welcher Prozess wird zum Beispiel wann aufgerufen und wer entscheidet darüber? Wie werden mehrere Prozesse verwaltet, ohne dass es zu Verwechslungen kommt? Und wie kann man sicher sein, dass bei jeder Änderung der richtige Prozess eingehalten wurde?

Die Antwort lautet Automatisierung.

Um effektiv zu sein, muss die Automatisierung jedoch idealerweise in der Lage sein, eine Reihe von automatisierten Funktionen innerhalb ihres Funktionsumfangs bereitzustellen. Zum Beispiel:

  • Sichtbarkeit der parallelen Entwicklung während des Flugs
  • Ãœberhol- und Ãœberschreibschutz
  • Zuordnung des Änderungsprozesses anhand des Objekttyps oder des analysierten Risikos
  • Releaseübergreifendes und release-internes Abhängigkeitsmanagement
  • Einrichtungen zur Vereinfachung der Verarbeitung von N +1 Änderungen
  • Umsetzung der genehmigten Änderungen
  • Kommunikationsablauf über mehrere Teams hinweg
  • Vollstreckung des Verfahrens

Nächste Schritte

Ausgereifte Prozesse und Prozessautomatisierung sorgen für ein kollaboratives und automatisiertes Umfeld, auf dem wir auf dem Weg zu einer vollständig implementierten SAP DevOps Ansatz. Im nächsten Beitrag werde ich mich mit der Rolle von mehrgleisigen Entwicklungsströmen und dem Wert des Release-Managements als zusätzliche Komponenten befassen.