 |
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 |  |
Geplant |  |
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
Prüflisten |
|
Konzepte |
|
Richtlinien |
|
White Paper |
|
© Copyright IBM Corp. 1987, 2006. Alle Rechte vorbehalten.
|
|