Fraunhofer IESE Phantombilder eines Softwarearchitekten / Software Architekt

Was ist ein Softwarearchitekt? Was macht eine Softwarearchitektin?

Ein Softwarearchitekt / eine Softwarearchitektin nimmt im Software-Engineering eine wesentliche Rolle ein, die je nach Unternehmen sehr unterschiedlich interpretiert und durch die jeweiligen Menschen noch unterschiedlicher ausgefüllt wird. Deshalb gibt es auch nicht DEN Softwarearchitekten. Die Bezeichnung »Software Architect« stammt aus dem Englischen. Trotz der im Deutschen korrekten Schreibweise »Softwarearchitekt« sind auch hier die Schreibweisen »Software Architekt« und »Software-Architekt« geläufig. Und natürlich sind nicht alle Softwarearchitekten männlich. Jedoch sind Frauen in der Softwareentwicklungs-Branche nach wie vor unterrepräsentiert.

Was sind besondere Eigenschaften und Merkmale von Softwarearchitekten?

Kennen Sie einen typischen Softwarearchitekten oder arbeiten sogar mit ihm zusammen? Jeder füllt diese Rolle anders aus und hat besondere Eigenschaften und Aufgaben. Im Gegensatz zu anderen Rollen im Software-Engineering scheint die Bandbreite der unterschiedlichen Interpretationen viel größer zu sein. Deshalb verwundert es nicht, dass es zahlreiche Analogien aus anderen Bereichen gibt, um den Softwarearchitekten, das unbekannte Wesen, etwas greifbarer zu machen. In vielen Präsentationen zu Softwarearchitektur sieht man immer wieder solche Analogien. Gregor Hohpe und Rebecca Whirfs-Brock haben mich mit ihren Vorträgen bei der Konferenz für Softwarearchitektur OOP inspiriert, eine (sicherlich unvollständige) Aufstellung von Charakterisierungen zu machen.

Hier meine Sammlung von Analogien, die die Aufgaben des Softwarearchitekten je nach Ausprägung beschreiben:

(Die Liste mit Analogien für Softwarearchitekten ist bestimmt noch viel länger und soll außerdem Frauen nicht ausschließen. Der Einfachheit geschuldet, ist die Auflistung nicht gegendert.)

  • Architekt als Generalplaner: Der Architekt plant alles ganz genau voraus und macht dann den Entwicklern klare Vorgaben bezüglich der Umsetzung. Er ist als einzelne Instanz, die über die Integrität des Gesamtsystems wacht, unabdingbar. (Siehe Martin Fowler, Architectus Reloadus)
  • Architekt als Gärtner: Der Architekt gibt Leitplanken vor, wie ein Gärtner einen Garten strukturiert. Darin wächst dann alles eigenständig und der Architekt beobachtet den Fortschritt und greift korrigierend ein.
  • Architekt als Mentor und Coach: Der Architekt versteht sich als Kümmerer im Projekt und klinkt sich immer wieder an unterschiedlichen Stellen ein. Er hilft Kollegen und unterstützt sie, auch bei Implementierungsaufgaben. Dadurch hat er einen sehr guten Überblick über das gesamte System und ist sehr nah an der Entwicklung dran. (Siehe Martin Fowler, Architectus Oryzus)
  • Architekt als Reiseführer: Der Architekt nimmt andere Rollen in der Entwicklung mit auf eine Reise und kann zu allem etwas erläutern.
  • Architekt als Barkeeper: Der Architekt mixt verschiedene Dinge zusammen: Insbesondere Business und Technologie. Dabei versteht er das Business und zeigt durch die Technologie neue Möglichkeiten auf, die er dann auch realisieren kann.
  • Architekt im Aufzug, Architekt als Mediator: Der Architekt ist in einem Aufzug unterwegs, der zwischen verschiedenen Stockwerken eines Unternehmens fährt. Diese Stockwerke symbolisieren alles von der Entwicklung bis zum Vorstand. Ein Architekt wird dadurch charakterisiert, wie viele Stockwerke er fahren kann, das heißt auf welchen Ebenen er mit den Menschen sprechen kann und auch zwischen den verschiedenen Ebenen vermitteln. Das bezieht sich einerseits auf die Fähigkeit, zwischen Abstraktionsebenen zu springen und andererseits auf die Fähigkeit mit Menschen unterschiedlicher Profession in der Sprache zu sprechen.
  • Architekt als Verkäufer von Optionen, Architekt als Ökonom: Der Architekt betrachtet die Architektur als Menge von Entscheidungen mit ökonomischem Einfluss auf die Entwicklung und die Zukunft des Softwaresystems. Insbesondere ermöglicht der Architekt es, bestimmte Änderungen am System in der Zukunft kostengünstig machen zu können. Dadurch sind in der Gegenwart Investitionen nötig (ähnlich wie bei Optionsscheinen, die es einem erlauben, in der Zukunft bestimmte Geschäfte zu einem festgelegten Preis zu tätigen).
  • Architekt als Stammesältester: Der Architekt als Respektsperson, die aufgrund ihrer Historie und Verdienste einen hohen Einfluss und Anerkennung genießt.
  • Architekt als Pfadfinder: Der Architekt als Entdecker neuer Wege mit einem Sinn für gute Taten.
  • Architekt als Designer: Der Architekt als Gestalter eines Softwaresystems, der wichtige und weitreichende Entscheidungen über das System trifft.
  • Architekt als Phantombildzeichner: Der Architekt als „Extrahierer und Dokumentierer“ von existierender Softwarearchitektur. Wenn Zeugen einen Verbrecher gesehen haben, so können sie ihn oft zumindest grob beschreiben, obwohl sie nie in der Lage wären, ihn zu zeichnen. Diese Aufgabe kommt dem Phantombildzeichner zu, der fundiertes Wissen über die menschliche Anatomie hat und die Kunst versteht, Informationen den Menschen zu entlocken und zu dokumentieren. Die gleiche Rolle können gute Softwarearchitekten einnehmen. Mit ihrem fundierten Wissen über Architektur und Dokumentation können sie gemeinsam mit Entwicklern Informationen extrahieren und geeignet dokumentieren. Obwohl es nicht direkt zu erwarten ist, können viele Entwickler und sogar viele Softwarearchitekten ihre Architektur nicht gut visualisieren, dokumentieren und kommunizieren. Deshalb ist der Phantombildzeichner oft sehr hilfreich.
Gregor Hohpe präsentiert einen Architekten als Phantombildzeichner.
Gregor Hohpe @ OOP 2017: Architekt als Phantombildzeichner
  • Architekt als Technologieexperte: Der Architekt als Kenner von Technologien in einem bestimmten Technologiebereich. Diese Übersicht erlaubt ihm, Technologien zu identifizieren, zu bewerten und auszuwählen.
  • Architekt als Domänenexperte: Der Architekt als Kenner der Domäne, für die ein System entwickelt wird.
  • Architekt als Möwe: Der Architekt stürzt sich auf ein bestimmtes Thema herab, wirbelt dort einigen Staub auf und fliegt dann wieder von dannen.
  • Architekt als Astronaut: Der Architekt bewegt sich in ganz anderen Sphären und ist so weit von der Entwicklung weg, dass er kaum was über den System weiß, wenig Einfluss hat und bei den Entwicklern wenig Wertschätzung erfährt.
  • Architekt im Elfenbeinturm: Der Architekt ist eher wissenschaftlich angehaucht und schottet sich von der eigentlichen Entwicklung ab. Damit geht es ihm so ähnlich wie dem Astronauten.
  • Architekt als Powerpoint-Künstler: Der Architekt als Ersteller von schönen Powerpoint-Bildern, die mit der Realität (dem Code) häufig wenig zu tun haben und ihm deshalb bei Entwicklern wenig Respekt einbringen.

Diese Analogien greifen akzentuiert bestimmte (positive wie negative) Eigenschaften des Softwarearchitekten heraus und machen sie verständlich. Letztlich dürfte natürlich keine der Analogien einen Softwarearchitekten wirklich komplett beschreiben und sie schließen sich auch nicht gegenseitig aus. Sie erläutern aber sehr gut verschiedene Persönlichkeitstypen und verschiedene Arbeitsauffassungen.

Keine einheitliche Definition von Softwarearchitekt

Da es auch keine einheitliche Definition von Softwarearchitektur gibt, ist es natürlich kein Wunder, dass auch bei Softwarearchitekten keine einheitliche Auffassung existiert. Die Vielfalt der Analogien sollte aber sowohl Softwarearchitekten selbst helfen, über ihr Tun zu reflektieren und anderen Personen die Gelegenheit eröffnen, Softwarearchitekten besser zu verstehen.

Unabhängig von der Analogie scheint Softwarearchitekt aber ein toller Job zu sein. Zum wiederholten Male landete er bei „Best Jobs in America (CNN Money)“ auf dem ersten Platz :-). Das Fraunhofer IESE sucht übrigens regelmäßig Softwarearchitekten. Schauen Sie gerne auf unserer Karriereseite vorbei.

Die CNN Money bewertet den Software Architekt / Softwarearchitekt 2015 als den besten Job.
CNN Money bewertet 2015 den Softwarearchitekt als besten Job in America. 2023 ist dies der Mobile App Developer

Aber wie wird man denn eigentlich Softwarearchitekt? Besuchen Sie unser Seminar »Softwarearchitektur« am Fraunhofer IESE und profitieren Sie von unserer Expertise!

 

Nach dem Seminar haben Sie das Wissen, um …

  • Architekturen in Ihrem Unternehmen einzusetzen. Unsere Methodik erlaubt den Teilnehmern, schnell einen praktischen Einstieg in das Thema Architektur zu finden und nach dem Seminar Architekturen eigenständig zu definieren, zu verwenden und zu bewerten.
  • Architekturen pragmatisch zu nutzen. Architekturen sind kein Selbstzweck, daher definiert unsere Methodik klare Anwendungsfälle. Insbesondere legen wir das Augenmerk auf Verwendungsszenarien für Architekturdokumentation: Wie kommt man von der Architektur zu etwas, das bei der Entwicklung und Evolution einsetzbar ist und in der täglichen Praxis hilft.
  • Architekturen mit anderen Aktivitäten des Software Engineering zu verzahnen. Ergebnisse und industrielle Fallbeispiele zeigen, wie Architekturen über den gesamten Lebenszyklus hinweg genutzt werden können.
  • technologische Trends und Hypes einschätzen zu können. Der Name Fraunhofer steht für die objektive Darstellung von Inhalten. Im Gegensatz zu Wettbewerbern vermitteln wir eine neutrale Sicht auf das Thema.

Mehr zum Themenfeld Software-Architekur beim Fraunhofer IESE finden Sie auf unserer Website:

Unsere Kompetenz: System- und Software-Architektur

1 Kommentare:


  1. Den Architekt als Möwe finde ich persönlich am interessantesten. Dieser Architekt sollte eindeutig die Übersicht haben. Ich würde mich eher als Architekt für Powerpoint-Künstlerei bezeichnen. Schließlich wollen die Kunden auch sehen, was ihnen bevor steht. Danke für den tollen Beitrag!

Comments are closed.