Stefan Zörner von der Firma embarc war am 16.3.2017 zu Gast bei der Java User Group in Darmstadt und hat einen Vortrag mit dem Titel „Softwarearchitektur für alle!?“ gehalten.
Los ging es mit einer Motivation, warum Softwarearchitektur für alle sinnvoll ist und nicht nur für Architekten.
Nach einer Definition was man unter Softwarearchitektur versteht (Summe der wichtigen Entscheidungen), hat Stefan aufgezählt, was überhaupt entschieden werden muss (Zerlegung, Technologie-Stack, Zielumgebung).
Anschließend wurden zwei typische Szenarien vorgestellt, die extreme Ausgangssituationen sind, wenn neue Software entwickelt werden soll.
1. Große Konzern mit Vorschriften und Vorgaben.
2. Microservices
Auf diese beiden Themen ist Stefan ausführlich eingegangen und hat die unterschiedlichen Herangehensweisen bei Makro- und Mikroarchitekturen beschrieben, um anschließend die jeweiligen Vor- und Nachteile der beiden Ansätze aufzuzählen.
Danach wurde geklärt, was überhaupt zu tun ist, um zu einer Architektur zu kommen. Los ging es mit einer Übersicht, was immer getan werden muss unabhängig davon, welcher Trend gerade „in“ ist. (Aufgabenanalyse, Architekturbewertung, Architekturentwurf, Architekturdokumentation).
Im nächsten Schritt muss man sich dann um Dinge, wie Benutzerinteraktion und Kommunikation mit Fremdsystemen kümmern und festlegen, was unter der Haube passiert. Außerdem muss ein Vorgehensmodell festgelegt werden und klar sein in welchem Rahmen die Anwendung betrieben werden soll/muss.
Anschließend gab es für alle eine Aufgabe, die in Gruppen bearbeitet wurde und bei der eine Reihe von Begriffen nach Zielen, Lösungen und Umsetzungen gegliedert und in Beziehung gesetzt werden mussten.
Weiter ging es dann mit einer Erklärung, wie man überhaupt zu eine Architektur kommt, d.h. der iterative Prozess bei dem immer wieder die Anforderungen und die Architektur abgeglichen werden müssen. Zu beachten sind bei dem Prozess immer die Rahmenbedingungen und die Qualitätsanforderungen.
Wobei besonders die Qualitätsanforderungen oft im Widerspruch zueinander stehen. Beispielsweise Benutzbarkeit und Security.
Fehlen durfte natürlich nicht, wie man Architekturen bewertet. Dabei ist Stefan kurz auf ATAM eingegangen und hat die Vor- und Nachteile erklärt.
Als nächstes hat Stefan beschrieben, was man zu Beginn auf allen Fälle benötigt (Also zumindest eine Architekturvision).
Dann gab es den Hinweis, dass man mit arc42 Architekturen gut dokumentieren kann. Anschliessend hat Stefan ein paar Tipps/Best Practices gegeben, wie man Architektur und Lösungsansätze in Einklang bekommt und was zu beachten ist.
Danach ist Stefan auf die verschiedenen Stufen der Softwarearchitektur eingegangen, wobei jeder Zuhörer anhand von Kriterien Punkte vergeben konnte, um die Stufe seines eigenen Softwareprojekts zu bestimmen.
Abschließend gab es noch ein Fazit, d.h. wie heute in der Praxis mit Softwarearchitektur umgegangen wird und eine Reihe von weiterführenden Themen. Beispielweise, das Buch von Stefan: „Entwürfe, Entscheidungen und Lösungen nachvollziehbar und wirkungsvoll festhalten“, die Architektur-Spicker von embarc oder ein Selbsttest, den man im Team durchführen kann: http://www.embarc.de/jm-fragebogen/
Zusammenfassend kann man sagen, dass es ein klasse Vortrag war, der auf viele Dinge eingegangen ist, die mit Softwarearchitektur zu tun haben. Man hat einen sehr guten Überblick bekommen, was alles bei der Erstellung einer Softwarearchitektur zu beachten ist. Mir hat es sehr gut gefallen, dass es einen kleinen Praxisteil gab, bei dem die Zuhörer auch etwas tun mussten.
Im Anschluss an den Vortrag gab es bei leckerem Essen, das accso zur Verfügung gestellt hat noch viel Zeit, um sich mit den anderen Gästen und mit Stefan auszutauschen.
Ein besonderer Dank geht an accso, die sehr kurzfristig einen größeren Raum organisiert haben, nachdem wir über 70 Anmeldungen hatten.
Und natürlich auch einen großen Dank an Stefan, dass er in Darmstadt war und den interessanten Vortrag gehalten hat.
Die Folien zu dem Vortrag findet man hier.