
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.
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.
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.
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.