15.06.2021

Wozu Softwarearchitektur?

Softwarearchitektur ist kein Selbstzweck, sondern verfolgt bestimmte Ziele. Diese Ziele entsprechen nicht direkt dem Business-Ziel der Anwendung, sondern sind diesem untergeordnet. Ist z.B. das Business-Ziel der Verkauf von Büchern übers Internet, dann ist ein diesem Ziel untergeordnetes Ziel, dies für möglichst viele Kunden zu tun. Damit das funktioniert, muß das System einem zunehmenden Wachstumsdruck standhalten. Das Standhalten des Wachstumsdrucks ist eine sog. Qualität das Softwaresystems, die nicht von alleine entsteht, sondern explizit ermöglicht werden muss. Und dies ist genau der Punkt: Softwarearchitektur ermöglicht Qualitäten (1).

Die Qualität Umgang mit Wachstumsdruck wird als Scalability bezeichnet. Um ein System skalierbar zu entwerfen, müssen bestimmte Maßnahmen getroffen werden, z.B. die Aufteilung des Systems auf mehrere Services, die dediziert skaliert werden können. Die Entscheidung für die Aufteilung ist eine Architekturentscheidung, die eine oder mehrere Qualitäten des Systems beeinflussen.

Architekturqualitäten beziehen sich immer auf ein oder mehrere Business-Ziele. Die Qualität Scalability ist nur wertvoll, wenn die Anzahl der Kunden kontinuierlich zunimmt. Stagniert die Kundenzahl, ist das Business-Ziel Wachstum nicht erreicht und die eingebaute Skalierbarkeit macht keinen Sinn, sondern hat nur unnötig Geld gekostet. Stagnierende Kundenzahlen sind möglicherweise eine Folge von unzureichender Functional Suitability, eine Qualität die ausdrückt, dass das System das tut, was es tun soll.

Architekturarbeit ist das Ableiten von Qualitäten aus Business-Zielen, sowie der Auswahl und Umsetzung eines diese Qualitäten optimal unterstützenden Architekturmusters. Qualitäten werden bewertet und gegeneinander abgewogen. Im Beispiel wurde Functional Suitability als weniger wichtig als Scalability gewertet. Folglich wurde ein hoch skalierbares System gebaut, das aber funktional nicht den Erwartungen der Kunden entspricht. Die initiale Falschbewertung von Qualitäten kann signifikante Auswirkungen auf Business-Ziele haben.

Eine in der Praxis bewährte Methode zur qualitätsgetriebenen Architekturanalyse und -bewertung ist ATAM: Method for Architecture Evaluation, die wir in einem unserer kommenden Beiträge vor dem Hintergrund von Legacy-Systemen genauer vorstellen werden.

(1) In der englischsprachigen Literatur werden Architekturqualitäten auch als Architectural Characterstics oder als -ilities im Sinne von Modifyability oder Scalability bezeichnet.

Veröffentlicht von Ralf Wirdemann im Juni 2021.

Zurück