\\ Software-Architektur und System-Architektur

Photo by Irene Aparici Cuevas

Definition und Umsetzung adäquater Architekturen

Ich habe den Anspruch, Software- und System-Architekturen zu erstellen, die auf der einen Seite möglichst einfach und flexibel, auf der anderen Seite dennoch so komplex sind, dass sie den Anforderungen des Projektes genügen.

Architekturen so einfach wie möglich entwerfen – aber nicht einfacher.

Um dies zu erreichen, analysiere ich zu Beginn eines Projektes diejenigen Anforderungen, die sich auf die Architektur auswirken können. Dies betrifft vor allem nichtfunktionale Anforderungen wie Antwortzeiten, Verfügbarkeit, Wartbarkeit oder Transaktionsverhalten.

Nicht funktionale Anforderungen beim Entwurf einer Architektur berücksichtigen.

Auf Basis dieser Analysen erstelle ich, in enger Abstimmung mit dem Entwicklungsteam, der Betriebsführung und der Fachseite, eine Architektur, die den zu Projektbeginn bekannten Anforderungen genügt und so viel Flexibilität besitzt, dass sie an mögliche Änderungen von Anforderungen angepasst werden kann. Eine Architektur so flexibel zu gestalten, dass sie jeglicher Änderung gewachsen ist, ist mit vertretbarem Aufwand allerdings kaum möglich. Gravierende Änderungen der Anforderungen ziehen in der Regel auch gravierende Änderungen der Architektur nach sich.

Gravierenden Änderungsbedarf frühzeitig erkennen und berücksichtigen.

Um Aufwand und Risiken im Rahmen zu halten, sorge ich dafür, dass Änderungen möglichst frühzeitig in der Architektur berücksichtigt werden. Dies kann nur erreicht werden, wenn auch während der Projektlaufzeit eine enge Abstimmung zwischen Fachseite, Betriebsführung und Entwicklungsseite erfolgt.