Mastering Software Architecture

Seit einiger Zeit setze ich mich recht intensiv mit dem Thema Software Architektur auseinander. So entstand mein Bedürfnis, mir diesen Themenbereich einmal von erfahrenen Architekten näher bringen zu lassen. Da ich Gernot Starke bereits durch seine Bücher (z.B. „Effektive Softwarearchitekturen“) kenne, war es für mich naheliegend das Seminar „Mastering Software Architecture“ zu besuchen, welches er gemeinsam mit Peter Hruschka („Business Analysis und Requirements Engineering: Produkte und Prozesse nachhaltig verbessern“) anbietet.

Ein schöner Nebeneffekt dabei war, dass das Seminar unter anderem auch die Lernziele des Lehrplans für die Prüfung zum „Certified Professional for Software Architecture – Foundation Level“ (CPSA-F) der iSAQB transportierte, so dass ich mich während des Seminars mehr oder weniger spontan dazu entschlossen habe auch diese Zertifizierung zu machen.

Was sind die Zutaten für ein gelungenes Seminar? Zum einen natürlich ein spannendes Thema, ein Lehrplan, der sich an realen Problemen orientiert und ein Dozent, der weiß wovon er spricht. „Mastering Software Architecture“ hatte alles davon und darüber hinaus boten die beiden Seminarleiter auch noch den perfekten Vortragsstil, um die vielen Informationen optimal in die Gehirne der Zuhörer zu pumpen.

Gerade der Wechsel zwischen dem ruhigen, mit angenehmem österreichischen Dialekt vortragenden Peter Hruschka und dem energiegeladenen Rheinländer Gernot Starke schaffte eine hervorragende Lern-Atmosphäre.

 

3B794B44-2738-4F58-BA73-2810510AB2ADZu Beginn des Seminars wurden alle Teilnehmer nach Ihren Zielen bezüglich der Schulung gefragt. Hieraus wurden dann Themen wie das „methodische Vorgehen in der Software Architektur“, die „Kommunikation und Dokumentation einer Architektur“ oder „Agilität und Software-Architektur“ formuliert, die alle während des Seminars sehr ausführlich besprochen wurden.

Selbst mein Wunsch-Thema „Architekturverbessungen bei Legacy-Systemen“ war den Seminarleitern einen kurzen Ausflug in die „Architecture Imrovement Method“ (siehe: http://aim42.org )wert, obwohl dieses Thema den CPSA-F-Lehrplan noch nicht einmal streifte.

Und auch darüber hinaus waren die gesamten 4 Tage geprägt von praxistauglichen Tipps, die immer wieder durch Beispiele aus dem Erfahrungsschatz der beiden Software-Architekten untermauert wurden. Sehr schön waren dabei auch die kleineren Meinungsverschiedenheiten zwischen den beiden Architekten zu beobachten, die offensichtlich mit besonderer Freude ausgetragen wurden und dokumentierten, dass es häufig nicht nur einen Weg zum Ziel gibt.

Wenn man mich fragt, was mich aus diesem Kurs persönlich für meine Arbeit am nachhaltigsten beeindruckt hat, dann ist dies zum einen die Aufforderung systematisch sparsam vorzugehen. Auch wenn es sinnvoll ist, möglichst unterschiedliche Methoden zu kennen: Pragmatismus siegt! Am Ende wollen wir daran gemessen werden, ob unser Software-System die Anforderungen auch langfristig gut erfüllt und nicht ob wir irgendeine Software-Design-Methode bis ins letzte Detail befolgt haben. Ein Sequenz-Diagramm, welches das Verständnis über das System verbessert, kann für die Architektur-Dokumentation sinnvoll sein. Zu viele Sequenzdiagramme in der Architektur-Dokumentation erhöhen jedoch unnötiger Weise den späteren Wartungsaufwand.

Die zweite, aus meiner Sicht noch wichtigere Erkenntnis aus dem Seminar ist „Explizit statt implizit“. So einfach es auch klingt, so häufig findet es nicht statt: Dinge dem Software Architekten wichtig sind, sollte er explizit machen. Nur so kann er dafür sorgen, dass alle am gleichen Strang und auch in die richtige Richtung  ziehen.

Fazit

Insgesamt ist „Mastering Software Architecture“ ein absolut empfehlenswertes Seminar für alle, die eine intensive Einführung in das Thema Software Architektur benötigen. Die Schulung ist sehr praxisorientiert und als Seminarteilnehmer bekommt man tausende Anregungen, wie man die Arbeit besser und effizienter gestalten kann.

Sehr angenehm war darüber hinaus, dass die Prüfungsvorbereitung für die CPSA-F-Zertifizierung eher am Rande stattfand und der Fokus ganz eindeutig auf die Praxis gelegt wurde. Das habe ich bei anderen Seminaren leider auch schon ganz anders erlebt.

Aber keine Angst: Auch wenn die Schulung für Leute interessant ist, die die CPSA-F-Zertifizierung nicht nicht ablegen wollen: Die Prüfung schafft man mit dem vermittelten Wissen locker.

Links

Dr. Peter Hruschka: http://b-agile.de

Dr. Gernot Starke: http://www.gernotstarke.de

Mastering Software Architecture: http://www.arc42.de/cpsa-f.html

International Software Architecture Board: http://www.isaqb.org

Arc42-Template für Architektur-Dokumentationen: http://www.arc42.de

 

7926086D-D73E-4452-9BD7-9EA36BB54192

2 Gedanken zu “Mastering Software Architecture

  1. Pingback: Explizit statt implizit – mercedespunk

  2. Pingback: Certified Professional for Software Architecture (CPSA-F) – mercedespunk

Die Kommentarfunktion ist geschlossen.