Dieser Artikel enthält ein Buchgeschenk – aber dazu später… Zuerst einmal skizziere ich  die wesentlichen Aufgaben von Softwarearchitekten.  Anschließend zeige ich, wie Softwareentwickler diese Aufgaben erlernen können – um die Rolle von Softwarearchitekten besser ausfüllen zu können. Am Ende stelle ich die Zertifizierung von Softwarearchitekten vor – mit der Sie die erfolgreiche Beschäftigung mit der Thematik auch offiziell nachweisen können.

(Falls Sie dieses Thema gar nicht interessiert, sondern Sie nur ein Buchgeschenk möchten – lesen Sie den letzten Abschnitt!)

Softwarearchitekten – technische Vermittler

Softwarearchitekten bilden in Projekten ein wichtiges Bindeglied zwischen unterschiedlichen Stakeholdern, wie Managern, Business- und Requirements-Engineers, Entwicklungsteams, Testern, Administratoren oder Hardware-Ingenieuren. Als Voraussetzung müssen Softwarearchitekten in erster Linie die Technologie gut kennen, um wesentliche technischen Entscheidungen für ein System treffen und /oder verantworten zu können. Sie sollten Erfahrung in der Programmierung mitbringen, gut abstrahieren können und vor allem kompromissfähig sein. Es mag Sie erschrecken – aber auch Erfahrung mit technischer Dokumentation hilft in der Rolle von Softwarearchitekten  beträchtlich weiter.

Aufgaben von Softwarearchitekten

Sechs wesentliche Aufgaben schreibe ich Softwarearchitekten zu:

Bild 1: arc42 Aufgaben

Bild 1: Die Aufgaben von Softwarearchitekten

  1. Anforderungen klären: Fordern oder beschaffen Sie ausreichend gute Anforderungen, insbesondere Qualitätsziele. Hierbei werden Sie Ihre Kommunikations- und Kompromissfähigkeiten ausspielen – und von Abstraktionsvermögen profitieren.
  2. Strukturen und Konzepte entwerfen: Legen Sie die grundlegenden Bausteine und (technischen) Konzepte fest – gemeinsam mit dem Entwicklungsteam. Betrachten Sie das System dabei aus unterschiedlichen Sichten (statisch, dynamisch, Deployment) – und kümmern Sie sich sowohl um fachliche Aspekte wie auch Maßnahmen für die Qualitätsziele. Auch Ihre Implementierungserfahrung ist hier gefragt.
  3. Architektur kommunizieren: Geben Sie mündlich und schriftlich die wesentlichen Entscheidungen weiter, idealerweise an alle relevanten Stakeholder. Nutzen Sie unterschiedliche Sichten oder Perspektiven. Dokumentation schmerzt denjenigen am meisten, der sie nicht hat!
  4. Umsetzung begleiten: Suchen Sie Goldstücke im Quellcode, die anderen zugute kommen. Finden Sie negative wie positive Überraschungen, sorgen für sauberen Quellcode. Schließen Sie Know-How-Lücken – bei Ihnen oder im Team.
  5. Architektur bewerten: Prüfen Sie systematisch, ob die Architektur die Qualitätsziele überhaupt erreichen kann – oder ob Nachbesserung notwendig ist.

Alle diese Aufgaben laufen in der Praxis häufig parallel ab.

Ob der Architektenjob dann einer einzelnen Person zufällt, oder als Rolle von mehreren Personen wahrgenommen wird– in jedem Fall müssen große und kleine Entwurfsentscheidungen vorbereitet, begründet und getroffen werden – meist unter Abwägung von Alternativen (und, so lehrt die Praxis, auf Basis unzureichender Informationen). Konzeptionelle Integrität, Einfachheit und Langlebigkeit profitieren stark, wenn eine einzelne Person die Verantwortung für die Architektenaufgaben übernimmt – in keinem Falle aber diktatorische Allüren zeigen darf. Überzeugen Sie durch Kompetenz – nicht durch Macht.

Wie lernen Softwarearchitekten?

Softwarearchitektur ist ein hochgradig praktischer Job: das theoretische und konzeptionelle Fundament ist notwendige Voraussetzung, benötigt jedoch unbedingt Ergänzung durch Erfahrung!

Erlernen und üben Sie systematisch alle oben genannten Aufgaben – und fokussieren Sie nicht nur auf den Implementierungsteilen. Technologie ist relevant – aber ohne Kommunikation und Kompromissfähigkeit ist sie wirkungslos!

Schätzen Sie ihre eigenen Fähigkeiten in diesen Bereichen ein – und arbeiten bewusst und systematisch an denjenigen Aufgaben, bei denen Sie sich schlechter einschätzen.

Meiner Erfahrung nach sind die meisten Softwareentwickler rein technisch prima aufgestellt – es hapert oftmals an den übrigen Aufgaben.

Iteratives Vorgehen mit Feedback hilft Ihnen auch beim Lernen von Architekturfähigkeiten: Arbeiten Sie in kleinen Schritten und holen sich von Kollegen möglichst frühzeitig Rückmeldung zu Ihren Ergebnissen ab. Auf diese Weise werden Sie systematisch besser.

Zertifizierung von Softwarearchitekten – Formale Anerkennung

isaqb-logoEine gute Nachricht: Der hersteller- und branchenneutrale Verein iSAQB e.V. hat den Lehrplan und die Ausbildung für Softwarearchitekten standardisiert und führt unabhängige Zertifizierungsprüfungen auf Basis dieser Ausbildung durch. Disclaimer: Ich bin Mitgründer und aktives Mitglied des iSAQB e.V. und stehe dieser Ausbildung und Zertifizierung sehr positiv gegenüber. Insgesamt haben bereits mehr als 2000 Softwerker diese Prüfung erfolgreich absolviert – und dürfen sich jetzt „Certified Professional for Software Architecture (Foundation Level)“ nennen, kurz CPSA-F.

Natürlich garantiert ein solches Zertifikat keine guten Architekturen oder Architekten – belegt allerdings die intensive Beschäftigung mit dem Thema und ein solides Verständnis der eingangs genannten vielfältigen Aufgaben. In CPSA-F Kursen gehören Übungen aller genannten Aufgaben zum Pflichtprogramm. Damit können Sie dann in entspannter Atmosphäre auch diejenigen Dinge üben, die Ihnen in der Realität noch schwer fallen – und erhalten konkrete Vorschläge für Verbesserungen. Meiner Ansicht nach steht es mit solcher Zertifzierung wie mit einem Ausbildungs- oder Studienabschluss: Auch ohne solche Abschlüsse können Sie hervorragende Software konstruieren – aber mit Abschluss glauben Ihnen das mehr Leute.

Bei Bewerbungen zählt Ihre persönliche Erfahrung sicherlich stärker – aber auch dort schadet ein Zertifikat sicher nicht (es sei denn, Sie haben zwar das Zertifikat, aber keinerlei praktische Erfahrung vorzuweisen…)

Falls eine solche Zertizierung für Sie interessant klingt –  Peter Hruschka und ich haben ein eBook zum Thema geschrieben, dass es im Normalfall ausschließlich als eBook zu kaufen gibt. Es ist kein Lehrbuch, gibt Ihnen aber einen kompakten Überblick über Lehrplan und Lernstoff. Außerdem enthält es eine Menge Hinweise zur CPSA-F Prüfung und Prüfungsvorbereitung.

Geschenkt: Unmögliches wird möglich

iSAQB-ShortcutGedrucktes e-Book, klingt seltsam, oder? Als kleine Sommer-Aktion haben wir, unterstützt von der innoQ Deutschland GmbH, dieses eBook in einer kleinen Auflage gedruckt und verschenken es gerne an Sie (first-come, first-serve, solange Vorrat reicht). Dazu schicken Sie einfach eine Email mit dem Promo-Code „CHV-Sommer-13“ an die Adresse gernot.starke@innoq.com – und fügen bitte Ihre Postadresse bei, an die wir Ihnen Ihr persönliches Exemplar gerne schicken werden!

 

Diese Aktion ist nun beendet, und alle Bucher verschickt! Herzlichen Dank fürs Mitmachen!