Brückenelemente

VUCA (ein Akronym für Volatility, Uncertainty, Complexity und Ambiguity) beschreibt die Zeit in der wir Leben. Die sich ständig ändernde Geschäftswelt wird zunehmend schneller, komplexer und damit unsicherer und unvorhersehbarer. Die Rahmenbedingungen sind wechselhaft und können sich von einem Tag auf den anderen ändern. Planungen sind so kaum möglich und es entstehen vermehrt Risiken. Durch die vermehrte Vernetzung von Prozessen und Sachverhalten steigt die Komplexität. Dadurch ergeben sich mehrdeutige und Widersprüchliche Informationen, die eine Entscheidungsfindung und somit das Bestehen am Markt erschweren. - "Der Begriff VUCA beschreibt sehr zutreffend die veränderten Herausforderungen für Unternehmen im 21. Jahrhundert. Passen Unternehmen sich nicht flexibel diesen Herausforderungen an, besteht die Gefahr, dass sie den Anschluss an die Zukunft verlieren." (Onpulson)




Durch die veränderten Herausforderungen stehen Unternehmen vor der Herausforderung schnell auf die sich ändernden Rahmenbedingungen reagieren zu müssen. Da der Kunde das Geschehen bestimmt (der nächste Anbieter ist nur einen Klick entfernt), müssen Unternehmen diesen in das Zentrum ihrer Aktivitäten setzen. Hierbei helfen agile Methoden. Durch z.B. kurze Feedbackzyklen und Interaktion mit dem Kunden kann kurzfristig auf das Marktgeschehen reagiert werden. Der Kunde wird somit Teil des Entwicklungs- und Verbesserungsprozesses und sorgt mit seinem Input für verbesserte und am Markt gewünschte Produkte. Doch damit nicht genug. Unternehmen müssen sich zu lernenden Organisationen entwickeln um Fehler der Vergangenheit bewerten und die richtigen Schlüsse für die Zukunft ziehen zu können. Hierbei unterstützen Methodiken wie Lean, Scrum oder Kanban, jede auf ihre eigene Weise.




Die hohe Digitalisierung der Gesellschaft sorgt dafür das kaum ein Produkt ohne Software auskommt. Damit neue Produkte am Markt akzeptiert werden und bestehen können, ist ein hoher Kundennutzen notwendig. Hier hilft die Anwendung der agilen Prinzipien in der Softwareentwicklung. Methodiken wie Scrum, SAFe oder Kanban sorgen mit ihren kurzen Iterations- und Feedbackzyklen für eine stetige Umsetzung von Features mit einem hohen Kundeninteresse und einem Lernfluss innerhalb der Organisation. Der integrierte Demingkreis in Scrum sorgt für eine stetige Verbesserung in den verschiedenen Ebenen der Softwareentwicklung.




Eine hohe Frequenz an neuen Anforderungen an eine bestehende Software kann zu unerwünschten Nebeneffekten führen. Bestandssysteme, die über die Jahre gewachsen sind, sind zumeist nicht in der Lage, die neuen Bedürfnisse der Kunden ohne negative Auswirkungen umzusetzen. Zudem sorgen Themen wie technische Schulden, Conway's Law und fehlende Automatisierung dazu, das die Software nicht oder nur schwierig mit mehreren Teams gleichzeitig erweitert werden kann. Genau hier setzen moderne Architekturen wie Event-driven architecture, Microservices und Self-Contained Systems an. Dabei werden die Systeme (z.B. mittels Domain-driven Design) in kleinere Einheiten geschnitten und können so parallel von mehreren Teams entwickelt werden. Zudem ist eine Modernisierung oder ein Ersetzen der kleineren Systeme bei einem Technologiewechsel leichter umzusetzen.




Um den System of systems-Ansatz moderner Softwaresysteme produktiv zu setzen, sollte ein hoher Automatisierungsgrad angestrebt werden. Statt früher 1-2 großen Kernapplikationen müssen nun 10, 20 oder 30 kleine Systeme produktiv gesetzt werden. Hier unterstützen continuous integration / continuous delivery pipelines. Um die hierfür notwendige Zusammenarbeit zwischen dem IT-Betrieb und der Softwareentwicklung zu intensivieren wird eine DevOps Organisationskultur gefördert, die die Trennung zwischen IT-Betrieb und Softwareentwicklung zugunsten einer Kooperation aufhebt. Als technische Unterstützung werden dabei Tools wie z.B. Integrationsserver, Konfigurationsmanagement und Infrastructure as Code eingesetzt.