Nach dem Vorwort begibt sich Stefan Toth sofort in medias res. Unter der Kapitelüberschrift „Zeitgemäße Softwarearchitektur“ erklärt das Buch, wie man architektonische Prozesse in das große Ganze des Entwicklungsvorgangs einbindet.
Dort findet sich eine kleine Vorstellung des Worked Example, das den Leser durch den Rest des Buchs begleiten wird. Der Autor entschied sich für ein Onlinemedium, das zusätzlich über eine Bezahlschnittstelle verschiedene Premium-Inhalte zum Kauf anbieten soll.
Toth hat einen betont flussdiagrammgetriebenen Ansatz gewählt. Schon auf den ersten Seiten findet sich eine Gruppe von Einsprungpunkten, die – analog zu einem Goto-Label – den direkten Einstieg in für die vorliegende Aufgabe notwendigen Maßnahmen ermöglichen.
Dieser Trend setzt sich im Rest des Buchs fort. Sehr lobenswert empfand der Rezensent die am Anfang jedes Kapitels platzierten Diagramme, die die Architekturmaßnahmen im großen Ganzen der Entwicklung von kommerzieller Software verorten.
Das dritte Kapitel, „Zielorientierten Architekturarbeit“, vertieft diesen Eindruck. Toth präsentiert verschiedene Probleme im Softwarelebenszyklus und geht auf Methoden zu ihrer Mitigierung ein.
Lobenswert ist, dass Kundenorientierung und Marketing in diesem Bereich ebenfalls zur Sprache kommen; das Werk nutzt beispielsweise die Frontpage des Kryptomessengers Threema zur „Veranschaulichung“ dessen, wie man Kunden die Vorteile des hauseigenen Produkts erklärt und diese Informationen zur Steuerung der Softwareentwicklung heranzieht.
Im Bereich der didaktischen Vorgehensweise wählt Toth je nach Kapitel einen anderen Zugang. Die Frage, wie man technische Schulden in Architekturanforderungen umwandelt, illustriert er mit einem „Gesprächsprotokoll“, das die Interaktion zwischen Entwicklern und Projektmanagern veranschaulicht. Dort findet sich ein Kasten, der auf Probleme mit dem Begriff der technischen Schulden eingeht.
In realen Projekten gilt, dass Entwicklung und Architektur immer auch die Lehre der Verwaltung des Mangels ist. Wer Softwarearchitekten in Entscheidungen wie dem Festlegen des Umfangs eines Releases einbindet, kann die Effizienz des gesamten Entwicklungsprozesses erhöhen.
Das vierte Kapitel, „Methodische Architekturentscheidungen“, gibt Schritt-für-Schritt-Anleitungen, die Hinweise zur effizienten Durchführung der notwendigen Abwägungen an die Hand geben.
Softwarearchitektur ist auch bei der Verwaltung von Innovationen relevant – der Abschnitt zur Two-Speed Architecture stellt beispielsweise einen praktischen Entwicklungsprozess vor, der Experimente mit neuartigen Technologien mit vergleichsweise wenig Risiken für das Hauptprojekt ermöglicht.
Insbesondere in zivilen Umgebungen gilt, dass die Entwicklung von Softwarearchitektur ein bidirektionaler Prozess ist. Einerseits macht der Architekt Vorgaben, andererseits liefern praktizierende Entwickler Feedback, dessen Berücksichtigung zu höherer Zufriedenheit und höherer Produktivität führt.
Ein Sektor des Buchs wendet sich Methoden zu, wie man das unter Entwicklern vorhandene Wissen nutzen und in den Architekturfindungsprozess einbinden kann.
Last but not least blickt der Autor in die Zukunft. Neben einer Besprechung von agilen Skalierungsframeworks finden sich Überlegungen zum Thema Team Topologies.
Fazit
Toth gelingt mit der vierten Ausgabe eine Fortsetzung dessen, was die letzten drei Iterationen des Buchs zu einem Klassiker gemacht hat: eine Besprechung der humanen Aspekte im Bereich der Softwarearchitektur.
Wer in den heutigen schnelldrehenden Zeiten Softwarearchitektur betreibt oder nicht unbedingt zum Pick-up-Artist geboren ist, findet eine exzellente Methodensammlung zur sozialverträglichen Umsetzung moderner Softwarearchitektur.
Das reich illustrierte Lehrbuch ist explizit auch für „technische Cracks“ wie den Rezensenten problemlos lesbar – eine bedingungslose Empfehlung ist hiermit gegeben.

Autor: Stefan Toth
Titel: „Vorgehensmuster für Softwarearchitektur – Kombinierbare Praktiken in Zeiten von AGILE und LEAN“
Seiten: 303
Verlag: Hanser, 4. Auflage, 2025
ISBN: 978-3-446-47993-7
Sprache: Deutsch