Agiler durch Software

Kategorie: Agile IT

Wir leben in einer Welt, in der Kunden nicht mehr nur einer Marke, einem Produkt oder einer Dienstleistung treu sind, sondern vielmehr Wert auf positive Erlebnisse oder bleibende Erfahrungen legen und diese wiederum mit einer Firma oder einem Produkt in Verbindung bringen.

Und da diese Erlebnisse am sichtbarsten durch Software vermittelt werden können, muss ein Unternehmen in der Lage sein, Software über das gesamte Spektrum Ihrer Geschäftsaktivitäten hinweg kreativ zu innovieren und effizient zu betreiben. Nur so gelingt es, sich als digitaler Marktführer zu etablieren und zu behaupten.

Innovation heisst Neuerung und dies eben nicht getreu dem Sprichwort «Alles Neue macht der Mai» sondern möglichst flexibel, agil und besser heute als morgen, mehrmals jährlich. Man ist gut beraten die Release-Zyklen zu reduzieren und Kunden zeitnah mit neuen Funktionen, Angeboten und Erweiterungen zu bedienen.

Um den Entwicklungsprozess zu beschleunigen, braucht es Ansätze, welche eine transparente und flexible Arbeitsweise unterstützen. Nur so können die entwickelten Systeme schneller zum Einsatz kommen und dabei Risiken und lange Entwicklungszeiten verringert werden. Technisch kann hier eine neue Plattform und das Konsumieren von Services als «Enabler» dienen; aus Prozesssicht hilft in vielen Fällen schon der Einsatz des KISS-Prinzips (Keep it simple, stupid).

In seiner Grundaussage ähnelt das KISS-Prinzip stark der Aussage von Ockhams Rasiermesser: Wenn es mehrere Erklärungen für einen bestimmten Sachverhalt gibt, dann ist diejenige Erklärung zu bevorzugen, die am einfachsten ist, also mit den wenigsten Annahmen und Variablen auskommt. Quelle: Wikipedia

Bei der Entwicklung von Software werden die vorhandenen Prozesse, Technologien und eingesetzten Werkzeuge stark gefordert. Umso wichtiger ist es, dass die Teams (intern und extern) und alle sich im Einsatz befindlichen Werkzeuge bedürfnisgerecht definiert und aufeinander abgestimmt sind. Nur so gelingt es die benötigten Softwarelösungen schneller und in einer besseren Qualität bereitzustellen.

Solche Prozessverbesserungsansätze werden unter der Arbeitsweise von DevOps umgesetzt. Das Wort DevOps existiert seit einigen Jahren in unterschiedlichen Interpretationen und Definitionen, aber vereint die zwei Begrifflichkeiten Development (Entwicklung) und Operations (Betrieb).

Ein Beispiel einer Definition aus dem Jahr 2014:
„DevOps bedeutet eine agile IT (Betriebs-) Bereitstellung, was erforderlich ist, um dem Rhythmus der agilen IT Entwicklung zu entsprechen. DevOps ist eine Philosophie, nicht eine Methode, ein Modell, ein Wissensfundus, oder  ein käufliches Werkzeug. DevOps ist die Philosophie der Vereinheitlichung von Entwicklung und Betrieb auf Kultur-, Praxis- und Werkzeug-Ebene, um eine schnellere und häufigere Umsetzung von Änderungen in der Produktion zu erreichen.» Quelle: Wikipedia

Das Konzept von DevOps basiert auf der Idee, dass alle Komponenten der IT heutzutage Software-basierend sind und somit programmiert/konfiguriert werden können. Dadurch entstehen Automatisierungsmöglichkeiten, welche einer Firma mehr Effizienz geben. Dies führt dazu, dass auch System Engineers vermehrt Tools von Software-Entwicklern brauchen, um ihre Infrastruktur zu steuern. Daher die Verschmelzung zwischen Developers und Operations. DevOps erfolgt iterativ und ohne Unterbrüche, d.h. Dev und Ops arbeiten eng und übergreifend zusammen.

Bei der Einführung agiler Software Entwicklungsmethoden wurde der Herausforderung Sicherheit nicht immer erste Priorität zugemessen. Ein «neuer» Ansatz namens „DevSecOps“ geht dieses Thema an und hilft Unternehmen, die geschaffene Agilität aufrechtzuerhalten und etablierte Sicherheitsprozesse einzubinden. Die Terminologie „DevSecOps“ setzt sich aus Entwicklung (Development), Sicherheit (Security) und Betrieb (Operations) zusammen und erweitert den DevOps-Ansatz um den wichtigen Faktor Sicherheit. Dieser erweiterte Ansatz ist ergänzend und baut DevOps konsequent aus.

Sicherheit und Qualitätssicherung laufen nicht mehr getrennt von der Software-Entwicklung ab. Dadurch wirkt sich die IT-Sicherheit nicht nachteilig auf das Tempo der Entwicklung aus. Unternehmen brauchen für die Umstrukturierung von DevOps zu DevSecOps ausreichend Zeit. Eine Einführung bzw. entsprechende Anpassung wird in der Realität nicht von heute auf morgen erreicht.

Agile Plattform für den Private Cloud Ansatz

Wie soll nun also eine Agile Data Center Landschaft aussehen, welche die vorgängig geschilderten An-/Herausforderung berücksichtigt?

Der grösste Challenge ist nicht deren Beschaffung als solches, sondern sich bewusst zu werden, was überhaupt beschafft werden muss und wozu. Zu folgenden Fragen (nicht abschliessend) sollte man sich unweigerlich Gedanken machen:

  • Kennen wir die IST Situation
  • Sind uns alle Anhängigkeiten bekannt
  • Welche Flexibilität ist gefordert (Betriebsmodell, Kompatibilität etc.)
  • Welche Skalierbarkeit braucht es
  • Make or Buy
  • Maturität der Unternehmung/Mitarbeiter (Mensch, Prozess & Technologie)

Die Weiterentwicklung in eine agile Welt hat viele Fassetten und betrifft die eingesetzte Software, die Plattformen, die zum Betrieb dieser benötigt wird und das Denken und Umsetzen solcher Terminologien. In solchen Fällen ist die Helikoptersicht auf die bestehend und möglich kommenden Plattform sehr hilfreich. In vielen Fällen ist es auch ratsam sich in solchen Themen Beratung und Unterstützung zu besorgen, um diese Punkte auch aus einer neutralen Sicht beurteilen zu lassen.

Ihre Reise in eine agile Welt benötigt einen Fahrplan, wo wichtige Meilensteine definiert und erreichbar sein müssen. Diese sollten in regelmässigen Abständen erneut geprüft, justiert und ergänzt werden.

Ein zweiter und nicht minder wichtiger Bestandteil ist die Transformation der bestehenden Software-Landschaft.

Die Anwendungstransformation ist ein Überbegriff, der alles umfasst, von der Reduzierung der Anzahl der Anwendungen in einem Unternehmen über die Verlagerung von Anwendungen in die Cloud bis hin zur Sicherstellung, dass Applikationen die aktualisierten Compliance- und Governance-Anforderungen erfüllen.

APP-TRANSFORM@2x

Heute werden noch rund 80 Prozent der Applikationen mit grossem Aufwand und hohen Kosten in eigenen Data Centern betrieben. Jedes Jahr kommen weitere dazu, welche wiederum in die Betriebs -und Supportprozesse integriert werden müssen.

Damit die bestehende Applikationslandschaft modernisiert werden kann, muss diese als erstes analysiert werden. In vielen Fällen werden Applikationen identisch weiter betrieben, obwohl sie bereits durch andere teilweise oder vollständig abgelöst wurden.

Für eine Analyse müssen unter anderem folgende Punkte (nicht abschliessend) beachtet werden:

  • wird diese Fachapplikation noch benötigt?
  • wie wird die Fachapplikation betrieben?
  • wie ist die Fachapplikation gegen Ausfall abgesichert
  • kann die Fachapplikation modernisiert/»cloudifiziert» werden?
  • kann/muss die Applikation abgelöst werden?

Um eine handfeste Applikations Transformations Strategie festzulegen, müssen im Vorfeld entsprechende Hausaufgaben gemacht werden. Der Aufwand und die Komplexität gilt es nicht zu unterschätzen. Durchläuft man aber alle Schritte, wird mit Garantie jede IT Organisation belohnt. Transparenz und die richtigen Betriebsmodelle sind Kernelemente der heutigen IT.

Benötigen Sie Unterstützung bei der Modernisierung zentraler Applikationen oder  Integration von Cloud-Services für Ihr Unternehmen? Durch das CAPTx Cloud  Readiness Assessment erhalten Sie eine unabhängige und gesamtheitliche  Beurteilung.  Mehr erfahren.

Marc Schmitt