Erfolgsmuster: Die Jongleuse - JAXenter
Knigge für Softwarearchitekten

Erfolgsmuster: Die Jongleuse

Peter Hruschka und Gernot Starke

Willkommen in der elften Ausgabe unserer Kolumne rund um Verhaltensmuster von Softwarearchitekten.

Elftes Muster: Die Jongleuse

Der Geschäftsführer möchte schnell eine kostengünstige Lösung. Die Anwender wünschen sich eine ergonomische Oberfläche und höchste Performance, egal was es kostet. Der Fachbereich fordert umfassende Funktionalität und ein Höchstmaß an Erweiterbarkeit. Dem Betreiber sind Preis und Ergonomie völlig egal, er verlangt standardkonformes Monitoring und ein robustes Betriebskonzept. Der Gesetzgeber fordert SOX Compliance und eine BSI-Zertifizierung. Die QS-Abteilung möchte dieses, Marketing und Vertrieb jenes. Fast noch schlimmer als Flöhe hüten …

Unterschiedliche Ziele

In der Realität verfolgen unterschiedliche Projektbeteiligte häufig sehr verschiedene und teilweise widersprüchliche Ziele. Im Endergebnis, dem laufenden System, müssen wir normalerweise viele Kompromisse eingehen, um allen maßgeblichen Stakeholdern gerecht zu werden. Also eine Prise Ergonomie, etwas Performance, ein klein wenig Änderbarkeit und ein bisschen Robustheit – aber nur so viel, wie das Budget hergibt.

Architekturen und Systeme entwerfen bedeutet somit, Kompromisse einzugehen. Dafür hilft ein Grundkurs in Diplomatie oder alternativ viel Übung beim Jonglieren mit vier oder mehr Bällen. Als besonders schwierig erweist sich die Notwendigkeit, persönliche Ziele von Architekten und Entwicklern hinter die Ziele der Stakeholder zu stellen.

Kompromisse finden

Wie jedoch kommen Softwarearchitekten zu ihren Kompromissen? Woher sollen sie wissen, wie viel Performance sie im Tausch gegen höhere Komplexität konstruieren und implementieren sollen? Die Antwort heißt „Ziele genau kennen“ und erfordert eine systematische Anforderungsanalyse, insbesondere der nichtfunktionalen Anforderungen. Diese tauchen in traditionellen Anforderungsbeschreibungen oftmals nur rudimentär auf. Wie im realen Leben gilt jedoch auch in der Softwarearchitektur: Ohne Ziel keine Orientierung.

Die Jongleuse kombiniert diese präventive Zielfindung mit einer gehörigen Portion Kommunikationsfähigkeit und Verhandlungsgeschick. Die helfen beim Finden von Kompromissen nämlich eher weiter als eine Überdosis Technik.

Multitasking

Zu den wichtigen Eigenschaften der Jongleuse als erfolgreiche Softwarearchitektin gehört ihre Fähigkeit, mehrere Dinge parallel zu erledigen. Wir sind grundsätzlich der Meinung, dass Fokus, also starke Konzentration auf ein einzelnes Thema, für Menschen das produktivste Arbeitsmodell darstellt. Aber in der Softwarearchitektur müssen Sie oftmals (quasi-)parallel an unterschiedliche Aspekte oder Dimensionen Ihrer Systeme denken:

  • Statische Strukturen mit dynamischen abgleichen, während gleichzeitig noch übergreifende technische Konzepte entstehen
  • Während Sie über Performance sprechen, an die Konsequenzen für die Security denken
  • Beim Entwurf gleichzeitig an Kopplung, Modularisierung, Teamstruktur und Kosten (!) denken
Überblick behalten

Jetzt mögen Sie zweifelnd einwenden, wie ein einzelner Mensch angesichts lauter unterschiedlicher Ziele und Aufgaben den Überblick behalten soll. Keine Sorge – nicht nur Übermenschen können als Softwarearchitekten bestehen (auf den Trend zu Multi-Core-Prozessoren und immer stärker paralleler Verarbeitung möchten wir hier nicht weiter eingehen). Schaffen Sie sich bewusst Zeit und Freiräume, um den Überblick zu behalten. Wenn Sie sich intensiv mit Details beschäftigen, benötigen Sie danach eine Zeit für den Überblick. Jongleusen meistern diesen bewussten Wechsel zwischen Details und Überblick wie selbstverständlich!

Mehrsprachigkeit hilft

Die eingangs erwähnten Stakeholder sprechen jeweils ihre eigene Fachsprache. Unsere Auftraggeber von der Business- oder Fachseite parlieren locker in Fachchinesisch, während unsere Geldgeber eher den monetären Dialekt bevorzugen. Letztere reagieren völlig allergisch auf jeglichen Geek-Speak, mit dem Sie als Jongleuse allerdings Ihre Entwickler verstehen können. Kommt dann noch die Terminologie der Tester hinzu oder gar der Administratoren und Betreiber, dann erscheint babylonisch dagegen als eine Hochsprache.

Don’t Panic!

Der gute und ziemlich alte Ratschlag von Douglas Adams, Don’t Panic [1], hilft auch Softwarearchitekten weiter. Lernen Sie erst einmal, Ihre Stakeholder zu verstehen, und konkretisieren und priorisieren Sie Ihre Qualitätsziele so weit wie möglich. Und dann planen Sie als Jongleuse regelmäßig Zeit ein, z. B. eine halbe Stunde pro Tag, um sich zurückzulehnen und die laufenden Tätigkeiten mit dieser priorisierten Liste so gut wie möglich in Einklang zu bringen. Nehmen Sie sich auch z. B. jeden Freitagnachmittag zwei Stunden mit Ihrem Team und diskutieren Sie die getroffenen Entwurfsentscheidungen unter diesem Blickwinkel. Und wenn Sie das zu lange aus den Augen verloren haben, dann hilft Ihnen eine systematische Architekturbewertung à la ATAM [2] wieder auf die Spur. Dazu sollten Sie es als gute Jongleuse jedoch gar nicht erst kommen lassen.

Unabhängig von Ihren Fähigkeiten als Jongleuse: den Grundkurs in Diplomatie sollten Sie ohnehin absolvieren. Diplomatische Architekten haben es im Projektleben leichter als Diktatoren!

Peter Hruschka und Gernot Starke haben vor einigen Jahren http://www.arc42.de ins Leben gerufen, das freie Portal für Softwarearchitekten. Sie sind Gründungsmitglieder des International Software Architecture Qualification Board sowie Autoren mehrerer Bücher rund um Softwarearchitektur, Softwareentwurf und Entwicklungsprozesse. Mehr finden Sie unter http://www.systemsguild.com (Peter) und http://www.gernotstarke.de (Gernot). Seit Jahresanfang ist Gernot auch innoQ-Fellow.
Geschrieben von
Peter Hruschka und Gernot Starke
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.