Advanced Software-Architecture – Der Weg zum Certified Professional for Software Architecture

Das Ende des Jahres ist eine gute Gelegenheit das vergangene Jahr Revue passieren zu lassen und sich Gedanken darüber zu machen, wohin es im nächsten Jahr geht.

Das Jahr 2017 stand für mich im Zeichen der Zertifizierung zum „Certified Professional for Software Architecture - Advanced - durch den iSAQB“. Eine herausfordernde Zertifizierung, die über mehrere Schritte erreicht werden kann. Über den ersten, möchte ich hier berichten.

Warum diese Zertifizierung?

Das ISAQB

Das International Software Architecture Qualification Board ist ein Zusammenschluss von Fachexperten zu Softwarearchitektur aus Industrie, Beratungs- und Trainings-unternehmen, Wissenschaft und anderen Organisationen.

  • Der iSAQB e. V. ist ein internationales Gremium (organisiert gemäß deutschem Vereinsrecht), mit den folgenden Zielen:
  • Erstellung und Pflege einheitlicher Lehr- und Ausbildungspläne für Softwarearchitekten (Certified Professional for Software Architecture)
  • ·Definition von Zertifizierungsprüfungen auf Basis der CPSA-Lehrpläne
  • Sicherstellung der fachlich-inhaltlichen Qualität von Lehre, Aus- und Weiterbildung für Softwarearchitektur

(Quelle: isaqb - http://www.isaqb.org/association/ )

Die Rolle des Software-Architekten ist in der heutigen Zeit der agilen Projekte eine oft nicht genau einzugrenzende Rolle. Der Wechsel zwischen Entwickler, Software-Architekt, DevOps u.v.m. ist häufig fließend. Cloud-Computing und Architekturansätze wie Microservices, CQRS (Command-Query-Separation) und Event-Driven-Architecture bieten immer mehr Entscheidungsraum, fordern diese Entscheidungen aber auch ein.

Mir war es wichtig, eine technikneutrale Grundlage für diesen Entscheidungsraum vermittelt zu bekommen, da meiner Meinung nach Konzepte und Vorgehensweisen hier als Basis für Entscheidungen im Vordergrund stehen. Als mit entwickelnder Software-Architekt ist die technische Basis zwar nicht weniger wichtig, diese sollte meiner Meinung nach jedoch „separat“ und spezifisch erworben werden.

Auf der Suche nach passenden Fortbildungsmöglichkeiten, bin ich auf den iSAQB Verein gestoßen, wo ich meine Erwartungen erfüllt sah. Das „Certified Professional for Software Architecture“ (CPSA) Programm des iSAQB bietet ein standardisiertes Aus- und Weiterbildungsschema für die Rolle des Software-Architekten (Quelle [iSAQB1]). Das dieses Programm auch immer mehr Teilnehmer hat und damit auch an Bekanntheit gewinnt, machte es für mich zusätzlich interessant (Quelle [iSAQB2]).

Die Grundlage: CSPA-Foundation

Die erste Stufe des CPSA ist das Foundation Level (CPSA-F), welches eine breite Basis vermittelt. Dazu beleuchtet der CPSA-F die Aufgaben eines Architekten und teilt diese in sechs Aufgaben ein (siehe Abbildung 1). Diese Aufteilung war für mich eine zentrale Erkenntnis, da ich das entwerfen von Strukturen als primäre Aufgabe eines Software-Architekten gesehen habe.

Abbildung 1: Aufgaben von Software Architekten (Quelle: [JAXENT])

Abbildung 1: Aufgaben von Software Architekten (Quelle: [JAXENT])

Zur Vorbereitung des Abschlusses des CPSA-F besuchte ich die Schulung „Mastering Software Architectures“. In dieser wurden die Aufgabenaufteilung herausgearbeitet und zusätzlich auch erste Kenntnisse zum Bewältigen selbiger vermittelt. Praktische Beispiele und viele Anekdoten aus der langjährigen Berufserfahrung der Trainer (in meinem Fall Dr. Gernot Starke, Dr. Peter Hruschka) bereiteten gut auf den Abschluss vor, welcher beim CPSA-F als Prüfung abgelegt wird.

In dieser werden Grundlagen der Architektur von Software Systemen und Vorgehensweisen in einer Prüfung mit Multiple Choice Fragen abgefragt.

Die Vertiefung: CPSA Advanced Level Zertifizierung

Der CPSA-F gab mir bereits einen Vorgeschmack auf die Aufgaben, die in der Praxis ein Software-Architekt zu bewältigen hat. Die notwendigen Kenntnisse werden aber nur angerissen, weshalb für mich schnell feststand, das ich hier mehr in die Tiefe gehen möchte. Dafür bietet der iSAQB das Advanced Level, welches Themen wie „Verbesserung bestehender Systeme“, „Domain Driven Design“ und zum Beispiel „Microservices-Architekturen“ weiter vertieft. Mehr zu meinem weiteren Weg und zum Advanced Level werde ich in meinem nächsten Blogpost schreiben.

Bis dahin eine schöne und besinnliche Weihnachtszeit.

Links & Quellen