Die Rolle der Softwarearchitektur
Softwarearchitekt ist eine Rolle, kein Titel.
Architectural Drivers
Ein wichtiger Teil der Rolle als Softwarearchitekt besteht darin, die Geschäftsziele zu verstehen und Anforderungen und Begrenzungen der Umgebung zu managen.
Software designen
Beim Softwaredesign geht es darum zu verstehen, wie die Probleme (bzgl. Anforderungen und Begrenzungen) gelöst werden können. Der wichtigste Teil ist die richtige Technologie zu wählen.
Technische Risiken
Der beste Entwurf und die beste Technologie bedeuten nicht unbedingt Erfolg. Viele Firmen wählen eine Technologie, um Kosten zu sparen. Eigentlich muss man sich fragen, ob die Technologie macht, was sie machen soll. Eine Architektur funktioniert, wenn die nicht-funktionalen Anforderungen erfüllt sind. Eine der wichtigsten Probleme von Software ist, dass sie komplex und abstrakt ist. Daher ist es schwer, sich Software vorzustellen. Wenn möglich, sollte man Architektur testen. Insgesamt geht es darum, technische Risiken vorzeitig zu identifizieren und zu managen.
Architekturevolution
Architektur sollte sich während des Entwicklungszyklusses weiterentwickeln. Deswegen braucht man kontinuierliche technische Führung für die Architektur.
Coding
Manche Firmen wollen nicht, dass ihre Softwarearchitekten Code schreiben. Aber dies ist keine gute Entscheidung. Nur wenn das Projekt sehr gross ist, kann der Architekt keinen Beitrag beim Coding leisten.
Qualitätssicherung
Qualitätssicherung ist die wichtigste Aufgabe von Softwarearchitekten. Allerdings wird diese Aufgabe in den meisten Projekten vernachlässigt.
Zusammenarbeiten oder scheitern
An einem Softwareprojekt sind viele Personen mit unterschiedlichen Interessen beteiligt. Jede dieser Personen beteiligt sich in gewisser Weise an der Entwicklugn der Softwarearchitektur. Als Softwarearchitekt muss man mit allen, an einem Projekt beteiligten Personen, zusammenarbeiten.