"Softwarearchitekten sind auch nur Menschen"

JAXenter: Wenn die Teamhürden genommen sind, steht im Zentrum das erfolgreiche Projekt, die qualitativ hochwertige Softwarearchitektur und am Ende ein funktionierendes Produkt. Was sollte man beachten, um auf den richtigen Weg zu kommen, und wie erkennt man frühzeitig, dass man auf dem falschen ist?

Phillip Ghadir: Das Endziel und die Etappen auf dem Weg dorthin. Für jede Entscheidung gibt es einen richtigen Zeitpunkt. Der Softwarearchitekt muss also stets die Aufmerksamkeit auf die anstehenden Entscheidungen lenken, ohne das Gesamte aus dem Blick zu lassen. Nur durch kontinuierliche Rückmeldungen und Bewertung der Anforderung, Erwartungen und der Umsetzung kann man feststellen, ob man auf dem richtigen Weg ist. Läuft das Projekt erst einmal, sollte der Architekt überlegen, welche Indikatoren helfen, das laufende Projekt auf Kurs zu halten.

Gernot Starke: Neben den kurzfristigen Ergebnissen von Iterationen und Sprints müssen Softwarearchitekten meiner Ansicht nach hartnäckig die langfristigen Qualitätsziele verfolgen – ich nenne das „Quality-driven Software Architecture“. Dazu müssen wir die Qualitätsanforderungen an unsere Systeme präzise kennen – und im Team dedizierte Maßnahmen, Strategien und Taktiken zu ihrer Erreichung finden und umsetzen.

Stefan Tilkov: Ich sehe hier den klaren Bezug zu einer im weitesten Sinne agilen Vorgehensweise. Eine gute Architektur ist nicht das, was sich am Anfang jemand im Elfenbeinturm als Vorgabe für ein System ausdenkt, sondern das, was das System am Ende tatsächlich ausmacht.

JAXenter: Gibt es einen Königsweg zu der einen, perfekten Softwarearchitektur, was sind bewährte Konzepte, sie zu erreichen, verratet ihr die auf dem Software Architecture Summit?

Phillip Ghadir: Auf dem Software Architecture Summit werden sehr praxiserprobte Sprecher über drängende Softwarearchitekturthemen sprechen. In den Tracks wird es darum gehen, wie man Webarchitektur, Domain-driven Design, Continuous Delivery, Schnittstellendesign oder Concurrency auf der JVM angehen kann.

Gernot Starke: Wenn es einen Königsweg gäbe, dann hätte längst ein findiges Open-Source-Team den in Form eines Tools implementiert (lacht). Auf dem Summit hören die Teilnehmer dafür jede Menge praxisnaher Tipps und Ratschläge erfahrener Architekten. Ich zumindest freue mich sehr auf die anderen (lacht nochmal).

Stefan Tilkov: Die perfekte Architektur und den Königsweg dahin gibt’s sicher nicht. Aber wir haben eine tolle Mischung von Theorie und Praxis hinbekommen, und mit der Erfahrung der Sprecher wird es sicher auch sehr unterhaltsam. Das großzügige Format gibt uns die Gelegenheit, auch mal in die Tiefe zu gehen und mehr Interaktivität zu gestatten.

JAXenter: Mit wie viel sollte man sich am Ende zufriedengeben, wenn man erkennt, dass es „perfekt“ nicht gibt? Wann ist eine Architektur gut?

Phillip Ghadir: Eine Architektur ist gut, wenn sie dabei hilft, die geforderte Funktionalität in der geforderten Qualität zu erbringen. Es gibt verschiedene Indizien für eine gute Architektur: Unbeteiligte schauen darauf und stellen fest, dass man das System „offensichtlich nur genau so“ bauen konnte. Die Anwender sind zufrieden und die Entwickler sprechen über die Software von „unserem Baby“. Der Betrieb ist wunschlos zufrieden. Oder wie mein ehemaliger Entwicklungsleiter schon sagte: Die Software wird seit drei Monaten kontinuierlich vom Kunden eingesetzt, ohne dass eine Fehlermeldung gemeldet wurde.

Stefan Tilkov: Eine Architektur ist dann gut, wenn das System in seinen Funktionen, seiner Fachlichkeit gut ist und trotzdem die nicht funktionalen Aspekte nachhaltig gewährleistet (auf Englisch spricht man gern von „ilities“, wie Scalalability, Maintainability, Configurability usw. usw.)

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.