Konferenzprogramm
Adaptive Systeme: Strategien für anpassungsfähige Software
Der langfristige Erfolg von Softwaresystemen und Entwicklungsteams hängt von der effektiven Reaktion auf Veränderungen wie neue Funktionen, Wettbewerbsdruck, technologische Innovationen und Lastspitzen ab. Ein System liefert einen nachhaltigen Wert, indem es diesen häufigen Änderungen standhält.
Dieser Vortrag stellt einen Ansatz zur Kategorisierung typischer Veränderungstreiber vor und gibt wichtige Architekturprinzipien an die Hand, um die Anpassungsfähigkeit von Systemen und Teams gegenüber neuen, unerwarteten Veränderungen zu verbessern.
Zielpublikum: Softwareentwickler- und -architekt:innen, Team Leads, CTOs
Voraussetzungen:Grundlegende Kenntnisse von Softwarearchitektur
Level: Practicing
Extended Abstract:
Der langfristige Erfolg von Softwaresystemen und uns als Entwicklungsteams zeigt sich maßgeblich darin, wie effektiv wir auf Veränderungen reagieren. Diese ergeben sich oft aus Feature-Ideen, Konkurrenzdruck, technologischen Innovationen oder Lastspitzen – ein System kann nur dann dauerhaft Wert stiften, wenn es häufigen Veränderungen in diesen Bereichen standhält.
Genau diese Eigenschaft, auch als „adaptiv“ bekannt, schlüsseln wir in diesem Vortrag auf. Ich stelle einen Ansatz vor, mit dem ihr typische Änderungstreiber für eure Software kategorisieren und priorisieren könnt, um euer System und euch als Team gegenüber neuen, unerwarteten Veränderungen anpassungsfähiger zu machen.
Änderungen aus funktionaler Sicht begegnen wir mit Konzepten aus dem Domain-driven Design, etwa Bounded Contexts. Zur Steigerung der Robustheit gegenüber technologischen Innovationen greifen wir auf Plattform-Engineering zurück und zeigen, wie eine interne Entwicklungsplattform die Teamproduktivität erhöht, ohne Innovationen und Freiheiten einzuschränken. Zur Bewältigung von Lastspitzen werfen wir einen kurzen Blick auf die Theorie verteilter Systeme, insbesondere auf die Themen Konsistenz und Eventual Consistency.
Dieser Vortrag zeigt, wie ihr diese Konzepte kombinieren könnt, um die Adaptivität eures Systems zu erhöhen, und erklärt, wie ihr diese nutzen könnt, um unterschiedlichen Änderungstreibern zu begegnen. Am Ende des Vortrags nehmt ihr ein konkretes Vorgehen mit, wie ihr eure Software auf unerwartete Veränderungen vorbereiten könnt.
Berater für Software-Architektur
Alexander Kaserbacher ist Berater für Software-Architektur bei embarc. Mehrjährige Erfahrungen aus der agilen Software-Entwicklung helfen ihm dabei, den Mehrwert von Software-Architektur zu vermitteln und diese effektiv umzusetzen. Neben AI und evolutionärer Architektur umfasst seine Leidenschaft für Technologie auch die verschiedensten Auswirkungen von Software auf Unternehmen und gesellschaftliche Faktoren.
Vortrag Teilen