Ein Architekturparadigma, das Systeme so gestaltet, dass sie inkrementell und kontrolliert über die Zeit weiterentwickelt werden können.
Evolutionary Architecture ist ein Gestaltungsansatz, der Systeme inkrementell weiterentwickelt und dabei zentrale Architekturmerkmale bewahrt. Er nutzt Fitnessfunktionen, schrittweise Änderungen und automatisierte Prüfungen, um Architekturentscheidungen zu steuern. So wird Flexibilität mit langfristiger Wartbarkeit über Teams und Domänen hinweg ausbalanciert, effizient und kontrolliert.
Aggregierter Wert aus definierten Fitnessfunktionen zur Bewertung der Architekturqualität.
Zeitspanne von Anforderung bis ausgelieferter Änderung als Indikator für Evolvierbarkeit.
Häufigkeit von Releases, die zeigt, wie schnell Änderungen produktiv gehen.
Schrittweises Auslagern von Funktionen in separate, getestete Services unter Einsatz von Fitnessfunktionen.
Automatisierte Prüfungen sichern Kompatibilität bei schnell wechselnden Anforderungen.
Einführung von Prüfregeln, die Änderungen auf Konformität kontrollieren.
Strategische Ziele und Qualitätsattribute definieren
Fitnessfunktionen ableiten und priorisieren
Automatisierte Prüfungen in CI integrieren
Inkrementelle Architekturänderungen planen und ausrollen
Kontinuierliches Monitoring und Anpassung etablieren