Warum ist Architektur schwierig?
Der Kommentar zum letzten Architektur-Posting zeigt schon ein wenig, warum das Entwerfen einer Architektur so schwierig ist: Es geht darum, die fachlichen Abstraktionen zu finden, was in den Bereich der Analyse hineinreicht. Man muss nämlich die fachlichen Anforderungen soweit verstehen, dass man sogar entscheiden kann, was die allgemeinen Begriffen in diesem Bereich sind.
Gleichzeitig muss man technische Realisierungen dieser Abstraktionen finden. Diese müssen dann den nicht-funktionalen Anforderungen genügen, was nicht immer einfach ist.
Man muss also sowohl Analyse und damit die Domäne als auch die Technik zumindest einigermaßen (oder besser sehr gut) verstehen.
Gleichzeitig muss eine Architektur, damit sie den Namen auch verdient, im gesamten Projekt einheitlich verwendet werden. Wenn dies nicht der Fall ist, muss man untersuchen, ob das auf prinzipielle Probleme hinweist - und gegebenenfalls die Architektur anpassen. An dieser Stelle verschwimmt dann auch die Grenze zwischen Architekt und Entwickler: Der Entwickler findet ein Problem in der Architektur, weil er etwas nicht entwickeln kann und baut dann etwas, womit er es kann. An dieser Stelle ändert er die Struktur der Software und damit die Architektur. Dadurch wird allerdings gleichzeitig auch die einheitliche Verwendung der Architektur so gefährdet.
Da die Architektur einheitlich verwendet wird, kann es außerdem auch sein, dass eine Änderung der Architektur schwierig und aufwändig wird. Daher ist der Entwurf einer Architektur eben auch risikobehaftet.