Was macht eine moderne Software-Architektur aus?
Ina Einemann: Eine moderne Software-Architektur ist in der Regel modular und flexibel aufgebaut, um den sich ändernden Anforderungen und Bedürfnissen von Anwendern und Stakeholdern gerecht zu werden. Sie ist dadurch darauf ausgelegt, die Skalierbarkeit, Wartbarkeit und Erweiterbarkeit von Softwaresystemen zu erleichtern.
Um dies zu garantieren, ist es wichtig, dass Anwender und Stakeholder mit den Entwicklern eng zusammenarbeiten und eine gemeinsame Sprache finden. Gerade am Anfang eines Projektes hilft ein guter Überblick in der richtigen Flughöhe über die Anforderungen und Bedürfnisse, das Big Picture, um die richtigen Entscheidungen zum richtigen Zeitpunkt zu treffen.
Lars Röwekamp: Moderne Software-Architekturen zeichnen sich durch eine gewisse Flexibilität aus. Was zunächst wie ein Widerspruch klingt: Denn heutzutage ist es unabdingbar, dass eine gute Architektur Stabilität mit sich bringt. Anwendungen und deren zugrunde liegenden Architekturen werden in der Regel nicht mehr für die kommenden 20 Jahre konzipiert und in Stein gemeißelt. Stattdessen wird erwartet, dass ein System in der Lage ist, sich den permanent ändernden Umwelteinflüssen anzupassen bzw. für zukünftige Anpassungen gerüstet zu sein und diese in sehr kurzen Zyklen zu ermöglichen. Die logischen Konsequenzen dieser Anforderung sind modulare Systeme, bei denen sich einzelne Module schnell und „schmerzlos“ anpassen oder sogar austauschen lassen. Eine moderne Software-Architektur muss eben dieses ermöglichen.
Welche Herausforderungen an Software-Architekturen sind in den letzten Jahren neu hinzugekommen? Was sollte man unbedingt im Blick behalten?
Ina Einemann: Die Einführung von Microservices hat die Art und Weise verändert, wie Software entwickelt wird. Um ein schnelles und robustes System zu erhalten, das den sich ändernden Anforderungen gerecht werden kann, ist es wichtig, einen guten Schnitt für seine Services zu finden.
Der Einsatz von Agilität erfordert zudem einen kulturellen Wandel in Organisationen. Es ist wichtig, sicherzustellen, dass die Software-Architektur den agilen Entwicklungsprozess unterstützt.
Lars Röwekamp: Ich glaube, wir sind uns alle einig, dass die Zeiten des Elfenbeinturm-Architekten endgültig vorbei sind. Und ja, ich habe hier bewusst nur die männliche Form gewählt. Architekt:innen von heute stehen zum Glück nicht mehr für eine erhabene Hierarchiestufe. Stattdessen nehmen sie eine konkrete Rolle innerhalb einer agil wirkenden Teamstruktur ein. Ob Architekt:innen dabei direkt im Team agieren oder sich als Dienstleister für die verschiedenen Stakeholder verstehen, sei einmal dahingestellt. Beides kann gut funktionieren. Neben rein fachlichen Skills sind daher mehr und mehr auch Soft-Skills gefragt. Konfliktkompetenz und Empathie ganz vorne mit dabei.
Was ist dein Thema auf dem MAD Summit und was findest du persönlich spannend daran?
Ina Einemann: Um die oben genannten Punkte zu adressieren, stelle ich beim MAD Summit die Methode „Event Storming“ vor. Ein Event Storming Workshop unterstützt das Team bei der Kommunikation mit den Stakeholdern, es werden intuitiv die richtigen Fragen gestellt und eine gute Flughöhe gefunden. Ganz nebenbei entwickelt sich eine gemeinsame Sprache und das Entwicklungsteam kann am Ende auch noch einen guten Service-Schnitt ableiten. Ich finde es unglaublich spannend, wie eine einzige Methode so viel Nutzen für die verschiedenen Rollen stiften kann.
Lars Röwekamp: Ich werde auf diesem MAD Summit gleich mit zwei Themen vertreten sein, was mich persönlich sehr freut. In meinem ersten Workshop „Shared Data in verteilten Systemen“ gehe ich auf die besonderen Herausforderungen ein, die sich im Umfeld der Datenhaltung in (micro)service-basierten Systemen ergeben. Das Thema ist so spannend für mich, weil es ein Umdenken erfordert und teilweise von dem klassischen transaktionalen Use Case abweicht. Mit diesem Umdenken gehen völlig neue Chancen und Perspektiven einher. Mein Ziel ist es, diese Chancen und die damit verbundenen Mehrwerte für moderne Softwaresysteme aufzuzeigen. In meinem zweiten Workshop „Microservices Migration Guide: Vom Monolithen zu Microservices“ vermittle ich Best Practices für die Migration bestehender monolithischer Anwendungen hin zu (micro)service-basierten Systemen. Genau diesen oftmals nicht ganz trivialen und mit Stolperfallen gespickten Weg sind wir in den letzten 5 Jahren mehrfach mit verschiedenen Kunden aus unterschiedlichsten Branchen gegangen und durften dabei sehr, sehr viel lernen. Diese Erfahrung möchte ich gerne weitergeben und bin mir sicher, dass es der/dem einen oder anderen sehr viel Zeit, Geld und Kopfschmerzen sparen wird.
Ich freue mich auf alle, die dabei sein werden!