Software-Lieferzyklus Schnelle Anwendungsbereitstellung als Erfolgsfaktor

Autor / Redakteur: Hans-Werner Bracher * / Stephan Augsten

Die Art und Weise, wie Anwendungsentwicklung, Testing und Software-Bereitstellung bislang realisiert wurden, muss sich verändern. Denn der geschäftliche Erfolg steht in direktem Zusammenhang mit der Geschwindigkeit von Software-Innovationen.

Anbieter zum Thema

Zeit ist Geld, das gilt auch für die Software-Entwicklung und -Bereitstellung.
Zeit ist Geld, das gilt auch für die Software-Entwicklung und -Bereitstellung.
(Bild: annca - Pixabay.com / CC0 )

Damit Software-Hersteller ihren Wettbewerbsvorteil im komplexen und schnelllebigen digitalen Business weiterhin behaupten können, müssen sie agiler und flexibler werden. Außerdem gilt es, sich besser mit den Fachabteilungen zu vernetzen, um die digitale Transformation voranzutreiben. Leider sind die meisten herkömmlichen Methoden der Softwareentwicklung nicht dazu in der Lage, mit den Geschäftsanforderungen Schritt zu halten.

Lange Softwarelieferzyklen sind ein immenses Hindernis für die Umsetzung neuer innovativer Geschäftsprozesse und -funktionen. Agile Entwicklungsteams konnten zwar die Entwicklungszyklen verkürzen – aber Agilität alleine reicht nicht, um die bestehenden kulturellen und technischen Barrieren zwischen Entwicklung und Betrieb zu beseitigen.

DevOps-Prinzipien und -Praktiken wurden als Reaktion auf dieses Problem hin entwickelt. Entsprechende Strategien vereinfachen die Zusammenarbeit und die Koordination zwischen den Teams, um die Softwarebereitstellung zu beschleunigen und dabei die Qualität zu verbessern.

Unternehmen setzen beim Einsatz von DevOps-Prinzipien besonders darauf, dass Bereitstellungs-Pipelines priorisiert und optimiert werden können und sich die Vorlaufzeiten verkürzen, um bessere Geschäftserfolge zu erzielen. In großen IT-Organisationen bilden die Erstellung neuer sowie die Optimierung bereits bestehender Bereitstellungs-Pipelines den Kern, um Software so schnell zu liefern, wie die Fachabteilungen sie brauchen.

Lange Vorlauf- und Lieferzeiten

Jede IT-Abteilung kämpft mit eigenen und unterschiedlichen Engpässen und Einschränkungen in der Bereitstellungs-Pipeline. Daher ist die Bewertung der Pipeline nach Nutzen empfehlenswert, um spezifische Problembereiche zu identifizieren.

Folgende fünf Bereiche führen zu den größten Verzögerungen:

1. Handoffs / Übergaben

Mit der DevOps-Methode bemüht man sich, die Barrieren zwischen den Teams für Entwicklung (Development) und dem IT-Betrieb (Operations) aufzubrechen, um somit einen Übergang zu agilen, interdisziplinären Produkt-Teams zu schaffen. Aktuelle, siloartige Organisationstrukturen wirken wie eine Bremse, wenn es darum geht, kürzere Durchlaufzeiten und einen kontinuierlichen Prozessfluss zu erreichen.

Organisationssilos sind Überbleibsel des Industriezeitalters, die aus der „Batch und Queue“-Verarbeitung heraus resultieren. Jede Phase hat einen definierten Start- und Endpunkt und das Ergebnis jeder Phase ist die verbindende Vorgabe für die nächste Phase des Projektes. Die Übergaben von einem Team oder einer Organisation zu einem anderen treibt die Vorlaufzeiten in die Länge und jede Übergabe ist potenziell eine Verzögerung an sich.

Das Auflösen von Unklarheiten erfordert zusätzliche Kommunikation zwischen den Teams und kann zu erheblichen Verzögerungen, hohen Kosten und gegebenenfalls zum Scheitern von Releases führen. Vor allem sollte man sich bemühen, die Zahl der Übergaben durch die Automatisierung eines erheblichen Teils der Arbeit zu reduzieren, damit die Teams an der Umsetzung neuer Kundenanforderungen und Geschäftsfunktionen kontinuierlich weiterarbeiten können – schnellere Durchlaufzeiten verbessern die Qualität und führen zu kürzeren Softwarelieferzeiten.

2. Freigabeverfahren

Genehmigungsverfahren wurden ursprünglich entwickelt, um Risiken zu mindern und um zu kontrollieren, dass die Einhaltung überprüfbarer Standards bei Änderungen in der Produktion gewährleistet ist. Der Genehmigungsprozess in die meisten großen Unternehmen ist jedoch langsam, sehr komplex und besteht oft aus einer Reihe von manuellen, aufeinanderfolgenden Abläufen.

Hierbei werden E-Mails oder andere Microsoft-Office-Tools genutzt, um die Änderungen zu verwalten und nachzuvollziehen. Infolge dessen wartet man meistens auf Personen, die die Freigabe für eine Softwareänderung erteilen müssen. Unrichtige oder unzureichende Daten führen sowohl zu voreilig erteilten oder fehlerhaften Genehmigungen als auch zu frustrierten Softwareentwicklungsteams, Qualitätseinbußen und Behinderungen bei der Bereitstellung.

Continuous Delivery“ und die Automatisierung der Bereitstellungs-Pipeline hingegen ermöglichen strengere Genehmigungsverfahren und verbessern die Prozessgeschwindigkeit erheblich. Produktionsfreigaben mögen eine Genehmigung seitens des Betriebs zwar nach wie vor benötigen, aber alles bis zu diesem Zeitpunkt könnte mit drastisch reduzierten Durchlaufzeiten automatisiert werden.

3. Umgebungsverwaltung – und Umgebungsbereitstellung

Es gibt nichts, was ein Entwicklerteam mehr frustriert, als auf eine Systemumgebung für das Testen neuer Funktionen warten zu müssen. Nicht zur Verfügung stehende Umgebungen oder Umgebungskonflikte aufgrund manueller Prozesse und schlechter Planung können für extrem lange Lieferzeiten verantwortlich sein. Sie führen zu Verzögerungen bei der Veröffentlichung neuer Releases und erhöhen die Kosten für die Inbetriebnahme.

Die Bereitstellung von Systemumgebungen ist eine sich wiederholende Aufgabe, die dokumentiert, automatisiert und versioniert werden sollte. Mithilfe von automatischen Self-Service-Prozessen für die Verwaltung, Planung, Nachverfolgung und Bereitstellung von Systemumgebungen lassen sich Lieferzeiten reduzieren und die Kosten senken, während sich gleichzeitig die Produktivität der Entwickler- und Qualitätssicherungsteams erhöht.

4. Manuelle Software-Auslieferung

Für die Bereitstellung von Anwendungen eignen sich Maschinen viel besser als Menschen. Dennoch gibt es eine erhebliche Anzahl von Unternehmen, die ihren Code immer noch manuell bereitstellen. Mit der Automatisierung der Inbetriebnahme können Unternehmen sofort Erfolge erzielen. Ein solcher Ansatz kann ohne größere organisatorische Veränderungen prompt umgesetzt werden.

Es ist nicht ungewöhnlich, dass Unternehmen hierdurch die Durchlaufzeiten für die Softwarebereitstellung um mehr als 90 Prozent verkürzen konnten. Je automatisierter dieser Prozess ist, desto reproduzierbarer und zuverlässiger wird er sein. Dies führt bei der Bereitstellung in der Produktionsumgebung zu erheblich geringeren Vorlaufzeiten und weniger Ausfallzeiten im operativen Geschäft.

5. Manuelles Software Testing

Sobald die Systemumgebung bereitgestellt und der Code ausgeliefert ist, beginnt die Testphase, um sicherzustellen, dass der Code wie erwartet funktioniert und keine anderweitigen Probleme verursacht. Viele Unternehmen führen diese Tests häufig noch manuell durch, obwohl die manuellen Abläufe gerade bei Skalierung in großen Organisationen sehr langsam, fehleranfällig und kostspielig sind.

Die Testautomatisierung ist ein Schwerpunktthema, wenn man die Lieferzeiten reduzieren möchte. Automatisierte Testverfahren sind günstiger, zuverlässiger, schneller und bieten eine breitere Abdeckung. Die anfänglich entstehenden Kosten für die Entwicklung automatisierter Testskripte können durch den anderweitigen Einsatz manueller Tester, beispielsweise in Test-Entwicklerteams, die sich auf automatisiertes API-Testing konzentrieren, größtenteils aufgefangen werden. Im Laufe der Zeit werden die Kosten für manuelles Testen sowie die Lieferzeiten zurückgehen, während die Qualität stetig zunimmt.

Fazit

Die Geschwindigkeit und Komplexität der Softwarebereitstellung wird weiterhin zunehmen, da Unternehmen sich fortwährend neuen wirtschaftlichen Gegebenheiten anpassen müssen. Mit der Optimierung und Automatisierung der Bereitstellungs-Pipeline werden Unternehmen ihre Softwarelieferzeiten erheblich reduzieren können und neue Geschäftsfunktionen und Anwendungsänderungen schneller und in besserer Qualität bereitstellen können.

* Hans-Werner Bracher ist Sales Manager DACH bei Micro Focus.

(ID:44602755)