Rolle: Softwarearchitekt
Diese Rolle ist hauptverantwortlich für die Entwicklung der Softwarearchitektur des Systems. Zu den Aufgaben gehört auch die Unterstützung bei wichtigen technischen Fragen, die das Gesamtdesign und die Implementierung des Projekts betreffen.
Beziehungen
Ausführung:Verantwortlich für:
Zusätzliche Aufgaben::Änderung:
Hauptbeschreibung

Der Softwarearchitekt ist verantwortlich für die zügige Umsetzung wichtiger technischer Entscheidungen, die sich in der Softwarearchitektur niederschlagen. Hierzu gehören in der Regel die Identifikation und Dokumentation architektonisch relevanter Aspekte des Systems, einschließlich Anforderungen, Design, Implementierung und Deployment-Sichten des Systems.

Der Architekt muss seine Entscheidungen begründen können, die Interessen der verschiedenen Stakeholder abwägen, technische Risiken minimieren und sicherstellen, dass Beschlüsse weitergegeben, geprüft und eingehalten werden.

Eigenschaften
Mehrere Vorkommen
Optional
GeplantYes
Mitarbeiterauswahl
Know-how

Für Vitruvius (ca. 25 v. Chr.) sahen die Eigenschaften, die ein Architekt mitbringen sollte, folgendermaßen aus: Der ideale Architekt sollte ein belesener Mensch sein, ein Mathematiker, vertraut mit geschichtlichen Ereignissen, ein eifriger Schüler der Philosophie, musikalisch, medizinische Kenntnisse besitzen, sich in Fragen des Rechts auskennen, mit der Astronomie vertraut sein, und astronomische Berechnungen durchführen können.

Der Softwarearchitekt muss vielseitig sein, Erfahrung haben, Visionen entwickeln sowie weitreichende Kenntnisse besitzen, die es ihm ermöglichen, Probleme schnell zu erfassen, und trotz unvollständiger Informationen qualifizierte Entscheidungen treffen zu können. Der Softwarearchitekt bzw. die Mitglieder des Architekturteams müssen dieses Know-how bündeln:

  • Hierzu gehört einerseits Erfahrung in der Aufgabendomäne, mit einem tiefgreifenden Verständnis der Anforderungen und andererseits Erfahrung in der Software-Engineering-Domäne. In einem Team können diese Fähigkeiten über die Teammitglieder verteilt werden, jedoch sollte ein Softwarearchitekt eine globale Vision für das Projekt entwickeln.
  • Der Führungsstil entscheidet darüber, inwieweit die technischen Aufgaben über die verschiedenen Teams hinweg vorangetrieben werden und wichtige Entscheidungen unter Druck getroffen werden können, und ob diese Entscheidungen dann auch endgültig sind. Um effektiv zu sein, müssen der Softwarearchitekt und der Projektleiter eng zusammenarbeiten: Der Softwarearchitekt kümmert sich um die technischen und der Projektleiter um die administrativen Belange. Der Softwarearchitekt muss Entscheidungen in technischen Fragen allein treffen können.
  • Kommunikation ist wichtig, wenn es darum geht, Vertrauen aufzubauen, zu überzeugen, zu motivieren und zu unterstützen. Der Softwarearchitekt kann Entscheidungen nicht einfach von oben fällen, sondern muss die Zustimmung der am Projekt beteiligten Personen gewinnen. Damit er seine Aufgaben effektiv bewältigen kann, muss er sich das Vertrauen des Projektteams, des Projektleiters, der Kunden und der Benutzer sowie des Managementteams erwerben.
  • Zielorientierung und Proaktivität sind Eigenschaften, die mit beständigem Blick auf das Endergebnis zum Einsatz kommen. Der Softwarearchitekt ist die treibende Kraft, wenn es um die technischen Belange des Projekts geht und kein Visionär oder Träumer. Die Karriere eines Systemarchitekten ist von vielen suboptimalen Entscheidungen begleitet, die unter Druck oder in Situationen der Unsicherheit getroffen werden. Nur diejenigen, die wissen, was getan werden muss, und dies auch umsetzen können, sind in diesem Arbeitsbereich des Projekts auch erfolgreich.

Von einem fachlichen Standpunkt betrachtet, muss der Softwarearchitekt auch die Fähigkeiten des Designers mitbringen. Der Softwarearchitekt unterscheidet sich vom Designer in Folgendem:

  • Er ist eher ein Generalist als ein Spezialist, d. h. er hat zwar einen guten Überblick über viele Technologien, jedoch kennt er nur wenige Technologien im Detail.
  • Er trifft weiterreichendere technische Entscheidungen und muss daher auch ein breites Wissen und entsprechende Erfahrung besitzen. Weitere Schlüsselfaktoren sind Kommunikation und Führungsqualitäten.
Zuordnungsstrategien

Ist das Projekt groß genug, um ein Architekturteam einzusetzen, kommt es darauf an, Personen mit verschiedenen Fähigkeiten auszusuchen, so dass ein breites Spektrum an Erfahrung und Verständnis des Software-Engineering-Prozesses vorhanden ist. Das Architekturteam soll kein Komitee bestehend aus Vertretern verschiedener Teams, Domänen oder Vendoren sein. Softwarearchitektur ist ein Bereich, der volle Aufmerksamkeit verlangt, und daher Personal benötigt, das sich ausschließlich damit beschäftigt.

In kleineren Projekten kann eine Einzelperson sowohl die Rolle Projektleiter als auch Softwarearchitekt übernehmen. Sofern möglich, sollte diese Rolle jedoch von verschiedenen Personen ausgeübt werden, um sicherzustellen, dass die Aufgaben der einen Rolle nicht unter dem Zeitdruck der Aufgaben der anderen Rolle leiden.

Weitere Informationen