CPSA steht für „Certified Professional for Software Architecture“, den Namensstamm für die vom iSAQB e.V. [1] rechtlich geschützten Zertifikate. Diese können Sie durch das Bestehen der entsprechenden Zertifizierungsprüfungen erwerben. Den CPSA gibt es aktuell in zwei Stufen: Foundation (CPSA-F) und Advanced (CPSA-A). Die Dritte – Expert Level – ist geplant.
Etwa tausend Softwerker jährlich legen die Multiple-Choice-Prüfung zum CPSA-F ab: Bislang haben dieses Zertifikat mehr als 5.400 Personen weltweit erfolgreich absolviert, die meisten davon hier in Europa. Der Advanced Level wird erst seit 2013 geprüft, daher liegen uns noch keine genauen Zahlen vor.
Der Sinn einer Architektenzertifizierung
Wenn wir erreichen wollen, dass der Beruf des Softwarearchitekten nach deutschem Recht offiziell anerkannt wird, müssen wir einheitliche Standards für die Ausbildung in der Softwarearchitektur etablieren. Das hat sich der iSAQB als gemeinnütziger Verein auf die Fahne geschrieben. Er konzentriert sich auf die Definition von Lehrplänen und geeigneten Prüfungsverfahren, um den Kenntnisstand eines Prüflings mit dem Zertifikat CPSA zu bestätigen.
Bisher schränken die Architektengesetze der Bundesländer die Nutzung des Titels „Architekt“ auf vier Berufsgruppen ein: (Gebäude-)Architekten, Innenarchitekten, Landschaftsarchitekten und Städteplaner.
Die Aussagekraft des CPSA
Ein Zertifikat weist nach, dass der Inhaber Aufwand betrieben hat, sich mit einem Thema zu beschäftigen. Im Falle der CPSA-Zertifikate weist der Inhaber mit einer Prüfung nach, zu dem Prüfungszeitpunkt über ein gewisses Wissen zu verfügen. Das Zertifikat kann nichts über die persönlichen Eigenschaften wie Leistungswille oder Fähigkeiten aussagen.
Der CPSA-F bescheinigt laut Lehrplan [2] die Fähigkeit, im Team für ordentlich beschriebene Anforderungen und Systeme mittlerer Größe angemessene Architektur zu entwerfen und zu dokumentieren.
Anonymisierte Auswertungen zeigen, dass das Prüfungsergebnis im Foundation Level proportional zur persönlichen Erfahrung in Softwareentwicklungsprojekten (als Softwareentwickler/Softwarearchitekt) ist: Mehr Erfahrung korreliert positiv mit den bei der Prüfung erreichten Punkte.
Der Anspruch des CPSA-A geht weit über den des Foundation Level hinaus. Ein Advanced-Level-Softwarearchitekt soll in mittleren bis großen IT-Systemen dafür sorgen, dass methodisch und technisch „alles gut wird“. Wie das geht und was dazu nötig ist, wollen wir im Folgenden beschreiben.
Ein Wort am Rande: Wir selbst stehen Zertifizierungen kritisch gegenüber. Eine Zertifizierung ist keinesfalls ein Freibrief für bessere Entscheidungen oder produktivere Arbeit. Dennoch sehen wir einen hohen Wert in einem einheitlichen Stand des Berufsbilds „Softwarearchitekt“ und möchten dieses durch fundierte Aus- und Weiterbildung etablieren.
Advanced Level: Der Elevator-Pitch
Bei der Advanced-Level-Ausbildung stellen sich Teilnehmer ihren persönlichen Ausbildungsweg aus einzelnen Trainings modular zusammen. Durch diese Trainings erhält man Credit-Points (CPs) in den Kompetenzbereichen Technologie, Methodik und Kommunikation/Softskills.
Nachdem CPSA-A-Teilnehmer mindestens siebzig dieser CPs erreicht haben (davon mindestens zehn in jedem Kompetenzbereich), können sie sich bei der Zertifizierungsstelle zur schriftlichen Abschlussarbeit anmelden. Diese Hausarbeit umfasst ca. vierzig Stunden Bearbeitungsaufwand und wird von zwei unabhängigen Gutachtern bewertet. Anschließend verteidigen die Teilnehmer ihre Arbeit in einem telefonischen Interview, bevor der iSAQB e.V. ihnen dann die erfolgreiche Zertifizierung bescheinigt (Abb. 1).
Voraussetzungen
Lassen Sie uns einen Schritt zurücktreten – zu den Voraussetzungen für den Advanced Level: Als Grundlage müssen Teilnehmer den CPSA-F (Foundation Level) erfolgreich absolviert haben und außerdem drei Jahre Vollzeitberufserfahrung in der IT-Branche nachweisen. Dabei müssen sie an Entwurf und Implementierung von mindestens zwei unterschiedlichen Systemen mitgearbeitet haben. Der iSAQB wird maßgebliche Mitarbeit in mittleren oder großen Open-Source-Projekten ebenfalls als Berufserfahrung anerkennen. Schließlich müssen Teilnehmer noch mindestens siebzig Credit-Points in lizenzierten Advanced-Level-Schulungen nachweisen, mindestens zehn in jedem der drei Kompetenzbereiche:
- Technische Kompetenz – fördert Kenntnis und Anwendung konkreter Technologien zur Lösung von Entwurfs- und Architekturaufgaben
- Methodische Kompetenz – schult systematische Vorgehensweise, unabhängig von konkreten Technologien
- Kommunikative Kompetenz – schult die Zusammenarbeit mit verschiedenen Stakeholdern, wie etwa Kommunikation, Präsentation, Konfliktlösung, Argumentation oder Moderation
Als Faustregel gilt, dass ein Schulungstag etwa zehn CPs entspricht, Teilnehmer somit Schulungen im Umfang von etwa sieben Tagen nachweisen müssen. Wer bereits über anerkannte Zertifikate verfügt, muss hier nicht alle Schulungen durchlaufen.
Anerkennung von Leistungen
Der iSAQB erkennt als Ergänzung zu lizenzierten CPSA-A-Trainings auch ausgewählte andere Zertifizierungen an, insbesondere solche der Open-Group bzw. des Software-Engineering-Institute (SEI). Auch der Oracle Certified Master (JEE5EA ©) sowie diverse Soft-Skills-Kurse finden beim Verein Anerkennung für Credit-Points (Details zeigt [3]).
Kompetenzbereiche
Ein Softwarearchitekt benötigt Kompetenzen in vier Bereichen, von denen durch den iSAQB drei abgedeckt werden: technische, methodische sowie die kommunikative und soziale Kompetenz. Daher setzt auch das Ausbildungsprogramm des iSAQB auf diese Kompetenzbereiche.
Im Projektalltag sind Softwarearchitekten darauf angewiesen, gemeinsam mit Projektbeteiligten geforderte Funktionalität und die erforderliche Qualität zu identifizieren, zu entwerfen, zu erstellen und anzupassen. Ohne die Mitwirkung aller ist die größte Kompetenz als Entwickler oder Designer eines Einzelnen nicht genug. Daher spielen die kommunikativen Fähigkeiten und die soziale Kompetenz für Softwarearchitekten eine zentrale Rolle.
Es gibt bereits unzählige Veröffentlichungen zu Kommunikation und zur persönlichen sozialen Kompetenz. Dennoch fordert der iSAQB hier spezifische auf den Projektalltag zugeschnittene Trainings, die nicht nur die Persönlichkeit sondern auch die Handlungsfähigkeit in Softwareprojekten stärken. Die Anforderungen an die Trainer solcher Fähigkeiten sind hoch: Sie müssen sowohl erfahrene Softwerker als auch Trainer in der Erwachsenenbildung sein. Ein Feld-Wald-und-Wiesen-Soft-Skills-Training ist vermutlich nicht so stark auf den Kontext der Softwareentwicklung zugeschnitten.
Der vierten Kompetenzbereich Domäne/Fachgebiet wird durch den iSAQB mangels Branchenfokus nicht unterstützt. Trotzdem halten wir diesen für wichtig.
Module
Das Themenspektrum ist in den Kompetenzbereichen weit gefächert. Wir können davon ausgehen, dass das Spektrum an Modulen in Zukunft noch breiter gefächert wird. Abbildung 2 gibt einen Überblick über die Module zum CPSA-A.
Für die Vertiefung bzw. den Erwerb der technischen Kompetenz bieten sich gemäß Modulkonzept Trainings SOA-T (technische serviceorientierte Architekturen) [4], WEB (skalierbare Webarchitekturen) [5] und EMBEDDED (eingebettete Systeme) [6] an. Die beiden Letzteren bringen sogar noch gleichzeitig Credit-Points im methodischen Bereich.
Für den Erwerb oder Nachweis der methodischen Kompetenz eignen sich die Module ADOK (Architekturdokumentation) [7], AWERT (Architekturbewertung) [8], EAM (Enterprise Architecture Management) [9], sowie die beiden bereits erwähnten Module SOA-T und EMBEDDED.
Architekturbewertung
Das zweitägige Modul AWERT behandelt die methodische Bewertung von Softwarearchitekturen ausgehend von der Zielerhebung und Analyse der Entwurfsentscheidungen bis hin zur angemessenen Dokumentation und Kommunikation der Ergebnisse.
Architekturdokumentation
Das zweitägige Modul ADOK legt Wert auf das methodische Erarbeiten, Pflegen und Bewerten von Softwarearchitekturdokumentationen. In diesem Modul spielt die Wahl und Hilfestellung bei der Bildung geeigneter Werkzeugketten eine ebenso wesentliche Rolle wie die Zusammenarbeit an der Dokumentation im Team.
Enterprise Architecture Management
Der Schwerpunkt dieses auf drei Tage angelegten Moduls liegt auf der Einführung eines geeigneten Vorgehensmodells für das EAM einschließlich eines Überblicks über gängige Frameworks von branchenneutralen Enterprise-Architecture-Frameworks wie TOGAF und COBIT bis hin zu branchenspezifischen Frameworks.
Eingebettete Systeme
Das Modul EMBEDDED definiert den erforderlichen Kenntnisstand für den Besuch eines lizenzierten Trainings. EMBEDDED fordert neben den im CPSA-F beschriebenen Kenntnissen und Fähigkeiten praktische Erfahrungen in der Entwicklung von eingebetteten Systemen. Darauf aufbauend definiert es die Inhalte, die in einem dreitägigen Training vermittelt werden müssen. Die Schwerpunkte liegen hier auf den Themen funktionale Sicherheit sowie Echtzeit und Nebenläufigkeit.
Soft-Skills
Das Modul ist weiter oben bereits beschrieben. Da es darauf zielt, erfolgreiche und schlechte Verhaltensmuster bei sich selbst zu erkennen und zu verbessern, ist es auf mindestens drei Tage angelegt. Über Jahrzehnte erworbene Verhaltensmuster lassen sich nur durch Aufmerksamkeit und Beharrlichkeit ändern [10].
Technische serviceorientierte Architekturen
Das Modul SOA-T definiert ebenfalls einen Umfang von mindestens drei Tagen Training, in denen die Grundbegriffe und die technischen Konzepte wie zum Beispiel Kommunikations- und Interaktionsmuster oder auch Querschnittsaspekte behandelt werden. Der größte Block beschäftigt sich mit SOA-Technologien von Web Services und WS-*-Standards über REST/HTTP sowie XML-Technologien bis hin zu Beschreibungssprachen und auch ESBs.
Die Themenvielfalt des Moduls erfordert die Erfahrung in der Entwicklung verteilter Systeme. Darüber hinaus sind Erfahrungen im Modellieren von Prozessen, der Enterprise-Application-Integration sowie der Spezifikation von Schnittstellen gewünscht.
Webarchitekturen
Das Modul WEB verlangt ein dreitägiges Training, das die Schwerpunkte Architekturstile, Entwurf von Webarchitekturen, Technologie und Infrastruktur sowie Qualität von Webarchitekturen betrachtet. Das Modul behandelt sowohl relevante client- als auch serverseitige Aspekte von Webarchitekturen. Neben Erfahrung in der Erstellung von Webanwendungen sind Kenntnisse von JavaScript, HTML, CSS und mindestens ein serverseitiges Webframework erforderlich.
Prüfungsaufgabe und Prüfung
Hat ein Teilnehmer der Zertifizierungsstelle schriftlich alle diese Voraussetzungen nachgewiesen, gilt es nun, die Prüfungsaufgabe zu lösen. Dabei handelt es sich um eine Art Anforderungsdokumentation oder Pflichtenheft für ein IT-System. Diese Aufgaben umfassen etwa fünfzehn bis zwanzig Seiten und enthalten detaillierte Fragestellungen, die Teilnehmer mit einem geschätzten Aufwand von vierzig Stunden bearbeiten müssen. Diese Aufgabenstellungen können verschiedene Typen von IT-Systemen betreffen. Aktuell sind dies Informations-, Web- oder eingebettete Systeme. Teilnehmer müssen darin auf Basis der vorgegebenen Anforderungen, Randbedingungen und Ziele ein fachlich und technisch angemessenes IT-System entwerfen und ihre Entwurfs- und Architekturentscheidungen passend beschreiben. Die Lösung dieser Aufgabe müssen Teilnehmer schriftlich auf bis zu vierzig Seiten ausarbeiten, dafür haben sie bis zu sechs Monate Zeit (auf Antrag auch länger).
Zwei unabhängige Prüfer bewerten diese Lösung hinsichtlich Zielerreichung und Angemessenheit. Ein telefonisches Interview zwischen beiden Prüfern und Prüfling beschließt diese Prüfung – darin hinterfragen die Prüfer Details und Zusammenhänge der jeweiligen Aufgabe.
Fazit
Die Advanced-Level-Zertifizierung des iSAQB e.V. erfordert von Teilnehmern erheblichen zeitlichen Aufwand, ein hohes Maß an Motivation und stellt hohe Anforderungen an Sachkenntnis und Erfahrung. Erfolgreiche Absolventen zeigen damit, dass sie in mittleren oder größeren IT-Systemen eigenständig und methodisch fundiert entwerfen und für Entscheidungen technische und inhaltliche Verantwortung übernehmen können. Diese Kompetenzen halten wir für sehr wertvoll und nachhaltig – darum engagieren wir uns innerhalb des iSAQB intensiv für den Ausbau des Advanced-Level-Programms.
Referenzen
-
http://www.isaqb.org/wp-content/uploads/2013/06/isaqb-Lehrplan-foundation-Feb-2014.pdf ↩
-
http://www.isaqb.org/certifications/advanced-level/ (siehe unten auf der Seite) ↩
-
http://www.isaqb.org/wp-content/uploads/2013/03/isaqb-Lehrplan-advanced-Modul-SOA-1.0.pdf ↩
-
http://www.isaqb.org/wp-content/uploads/2013/03/isaqb-Lehrplan-advanced-Modul-WEB-1.0.pdf ↩
-
http://www.isaqb.org/wp-content/uploads/2013/03/isaqb-Lehrplan-advanced-Modul-EMBED-1.0.pdf ↩
-
http://www.isaqb.org/wp-content/uploads/2013/03/isaqb-Lehrplan-advanced-Modul-ADOK-1.2.pdf ↩
-
http://www.isaqb.org/wp-content/uploads/2013/03/isaqb-Lehrplan-advanced-Modul-AWERT-1.2.pdf ↩
-
http://www.isaqb.org/wp-content/uploads/2013/03/isaqb-Lehrplan-advanced-Modul-EAM-1.1.pdf ↩
-
http://www.isaqb.org/wp-content/uploads/2013/03/isaqb-Lehrplan-advanced-Modul-SOFT-6.2.pdf ↩