Architektur@SDX – CPSA-A zertifiziert!

18. Juli 2018

“Als Technologiepartner realisiert SDX mit Professionalität und Leidenschaft moderne, attraktive Software auf Basis erstklassiger Architekturen und aktueller Methoden.”

Aus diesem Anspruch der SDX leitet sich Software-Architektur als eine Kernkompetenz der eXperts ab – und damit ist Aus- und Weiterbildung, mit und ohne Zertifizierung, in diesem Themenfeld für uns extrem wichtig. Über Jahre waren die Angebote auf einzelne, oft technische Architekturbereiche oder die Zertifizierungen der Hersteller beschränkt – was sich aber glücklicherweise seit einiger Zeit geändert hat.

Gernot Starke hat mit “Effektive Softwarearchitekturen: Ein praktischer Leitfaden” (Amazon) quasi das Standardwerk geschaffen. Und bezüglich Ausbildung und Zertifizierung hat sich vor einigen Jahren das International Software Architecture Qualification Board (iSAQB) gegründet (analog vergleichbaren Organisationen für Projektmanagement, Test oder Anforderungsanalyse):

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

(link)

Der iSAQB bietet derzeit zwei Zertifizierungen an (eine dritte ist in Vorbereitung):

  • iSAQB – Certified Professional for Software Architecture – Foundation Level (CPSA-F)
  • iSAQB – Certified Professional for Software Architecture – Advanced Level (CPSA-A)

Der Foundation Level deckt im Wesentlichen die Inhalte aus Gernot Starkes Buch ab und ist eine klare Empfehlung für jeden ambitionierten Entwickler –  der Advanced Level geht deutlich darüber hinaus.

Foundation Level (CPSA-F)

Die Prüfung zum Foundation Level beschäftigt sich mit Grundbegriffen, Software-Architekturen auf Basis von “Sichten” und letztendlich der Einbettung des ganzen Themas in einen Projektkontext.

Die passende Schulung dauert je nach Anbieter 3 oder 4 Tage (die Schulung ist strenggenommen keine Notwendigkeit, aber sehr zu empfehlen) und schließt die Prüfung als Multiple Choice Test üblicherweise mit ein:

image

Nach bestandener Prüfung darf man sich mit dem CPSA-F-Zertifikat schmücken:

image

 

Advanced Level (CPSA-A)

Für den Advanced Level liegt die Messlatte deutlich höher:

Der iSAQB spezifiziert ein modular aufgebautes Ausbildungsprogramm, dessen Absolventen weitreichende Fähigkeiten und Kenntnisse unter Beweis stellen müssen.

Um diesem Anspruch gerecht zu werden, müssen in den drei Bereichen Technik, Methodik und Kommunikation entsprechende Kenntnisse aufgebaut werden. Dies wird über standardisierte Schulungsmodule und ein Punktesystem sichergestellt.

Folgende Darstellung gibt die verfügbaren Module und Punkte wieder (Stand 06/2017):

image

Je Bereich müssen mindestens 10 und insgesamt mindestens 70 Punkte erreicht werden, was in der Praxis auf drei entsprechend verteilte Schulungen hinausläuft.

Diese Schulungen sind auch unabhängig von einer Zertifizierung eine gute Wahl. Durch die Standardisierung der Schulungsinhalte ist Nachvollziehbarkeit und Qualität gesichert und die Inhalte sind über verschiedene Schulungsanbieter hinweg vergleichbar. Wenn man also etwas zu Microservices lernen will, warum dann nicht mit dem FLEX-Modul?

Passende Schulungsanbieter findet man über isaqb.org. Übrigens ändern sich die Punkteverteilungen und die verfügbaren Module gelegentlich, ein Blick dorthin lohnt sich also auf jeden Fall.

Eine weitere Voraussetzung für die Prüfung ist relevante Berufserfahrung, die durch entsprechende Projektbeschreibungen nachzuweisen ist. Hat man auch diese Hürde genommen, kann man sich der abschließenden Prüfung zuwenden:

image

 

Für die Prüfung kann die gewünschte Systemart (Informationssystem, Web, Embedded) ausgewählt werden. Man erhält zwei Prüfungsaufgaben zur Auswahl, ist also nicht vollständig dem Zufall ausgeliefert. Die gewählte Aufgabe ist als Hausarbeit auszuarbeiten, die dann zunächst von zwei Prüfern bewertet wird. Den Abschluss macht ein Telefoninterview, in dem man seine Lösung verteidigen muss:

image

Die Prüfungsaufgaben bestehen aus einer Fallbeschreibung und einzelnen Teilaufgaben. Inhaltlich können diese das gesamte Spektrum der Architekturthemen abdecken; auf isaqb.org findet sich eine Musteraufgabe als Beispiel.

Aus eigener Erfahrung…

Laut isaqb.org soll man “mindestens 40 Zeitstunden Aufwand” für die Bearbeitung einplanen. Für die Musteraufgabe kann ich mir das gut vorstellen. Die mir zugesendeten Aufgaben – und nach Aussage der Prüfer ist dies die Regel – lagen jedoch sowohl im Umfang, als auch in der Komplexität merklich darüber. Die doppelte Zeit einzuplanen, ist also nicht verkehrt.

Die Lösung wird zunächst durch zwei Prüfer bewertet (Kriterien sind sowohl Formalien, etwa der Umfang der Lösung, als auch inhaltliche Aspekte). Mir wurden die Ergebnisse der Bewertungen zur Verfügung gestellt und diese gaben u.a. erste Hinweis darauf, welche Fragen in der mündlichen Prüfung zur Sprache kommen würden.

Die mündliche Prüfung selbst dient der Verteidigung der Lösung: Unklare Punkte werden diskutiert, ggf. Auslassungen thematisiert oder die Gründe für bestimmte Designentscheidungen hinterfragt. Und nicht zuletzt geht es auch darum, sicherzustellen, dass man die Lösung selbst verfasst hat…

Aus eigener Erfahrung…

Klärungsbedarf ist unvermeidbar, denn die Begrenzung auf 30-40 Seiten zwingt oft zu verkürzen Formulierungen. Insbesondere implizites Vorwissen, das den Prüfern nicht präsent ist – zum Beispiel technische Details zu bestimmten Cloud-Diensten – lässt Fragen entstehen.

Positiv anzumerken: In meinem Fall waren die Prüfer in der Art ihrer Fragestellung durchaus “angenehm”: Gefragt wurde nach Erklärungen zum besseren Verständnis; zu keinem Zeitpunkt wurde die Lösung selbst in Frage gestellt, weil sie den Geschmack der Prüfer nicht getroffen hätte.
(Da meine Lösung im technischen Bereich sehr Microsoft-lastig war, hatte ich hier durchaus Bedenken.)

Ergebnis all dieser Mühen sind dann die durch Zertifikat bestätigten Kenntnisse…

  • Eigenständig und methodisch fundiert mittlere bis große IT-Systeme entwerfen
  • In IT-Systemen mittlerer bis hoher Kritikalität technische und inhaltliche Verantwortung übernehmen
  • Maßnahmen zur Erreichung nichtfunktionaler Anforderungen konzipieren, entwerfen und dokumentieren
  • Entwicklungsteams bei der Umsetzung dieser Maßnahmen begleiten
  • Architekturrelevante Kommunikation in mittleren bis großen Entwicklungsteams steuern und durchführen

… und das passende Zertifikat:

image

Übrigens: Laut isaqb.org gab es 2017 zwar bereits über 12.000 erfolgreich abgelegte CPSA-Zertifizierungen, aber nur ca. 150 Advanced Level-Absolventen.

Architektur@SDX

Für SDX war und ist Architektur schon immer ein wesentlicher Aspekt der Softwareentwicklung. Bereits seit 2010 ist unser Architektur Workshop für unsere eXperts zu einer Standardschulung (neben Scrum und SQL Server) geworden. Die Inhalte dieses Workshops sind übrigens in weiten Teilen mit den von Gernot Starke behandelten Themen vergleichbar.

Unabhängig davon haben eine Reihe von eXperts die CPSA-F-Zertifizierung erworben und weitere Schulungen aus dem Modul-Katalog zum Advanced Level besucht. Der große Vorteil ist aus unserer Sicht die hersteller- und technologieneutrale Behandlung der jeweiligen Themen. Selbst wenn man sich primär im Microsoft-Umfeld bewegt, sorgt dies für eine längere Halbwertszeit des erworbenen Wissens.

Ach ja: Den erwähnten SDX Architektur-Workshop können Sie <hier> anfragen – Referent: Alexander Jung ;-).

PS, passend zum Thema: Wie sehen iSAQB CPSA-Advanced Prüfungsaufgaben eigentlich aus? (Blogbeitrag von Stefan Zörner)

Alle Informationen zu iSAQB sind Stand 06/2018.