embarc logo
embarc logo

Ein Softwarearchitektur Who’s Who in Briefmarken

Stefan Zörner Stefan Zörner
31.03.2021

Lesezeit: 9 Minuten

Wen in der Szene muss man kennen? Wir bauen Briefmarken für verdiente Köpfe der Softwarearchitektur.

1840 erblickte mit der Penny Black das erste Postwertzeichen das Licht der Welt. Damals noch ohne Zacken übrigens. Als Kind habe ich etwas später mit meinem Großvater zusammen Marken von Briefen und Postkarten abgelöst und einsortiert. Und wurde dabei mit sehr unterschiedlichen Motiven konfrontiert.

Briefmarke Immanuel Kant

In Erinnerung geblieben ist mir die schöne Serie zu technischen Errungenschaften (Stichwort Transrapid) oder die mit skizzenhaften Darstellungen von Gefahrenquellen (Briefmarkenserie Unfallverhütung bei Wikipedia). Es gab auch Persönlichkeiten zu sehen, die ich als Kind nicht kannte. Das Staatsoberhaupt beispielsweise. Oder Immanuel Kant (siehe rechts).

Warum kommt ein Mensch auf eine Briefmarke?

Ein “Who is who?” der Softwarearchitektur

Wer sich in ein Thema einarbeitet sieht sich nicht nur mit neuen Begriffen konfrontiert. Es gibt auch Namen, die jeder in der Szene kennt. Die Stars sozusagen. Das ist auch in der Softwarearchitektur so. Wenn Ihr dazu eine Briefmarkenserie gestalten würdet, wer dürfte da nicht fehlen?

Ich habe mich für diesen Blog-Beitrag ein wenig ausgetauscht und genau das gemeinsam mit meiner Tochter versucht. Eine (imaginäre) Sonderserie mit verdienten Köpfen der Softwarearchitektur als Postwertzeichen. Katharina fiel die Gestaltung der Marken zu.

In der Auswahl haben wir uns auf sechs Personen beschränkt und versucht einigermaßen ausgewogen zu sein. Das ist bei solchen Vorhaben immer problematisch. Bei den letzten D-Mark-Scheinen beispielsweise musste das Gremium u.a. Geschlecht, Konfession und Herkunft beachten. Auf Top-Persönlichkeiten wie Goethe wurde bewusst verzichtet, ebenso auf vermeintliche Provokationen wie Luther oder Marx.

Meine Auswahl hier ist vor allem fachlich motiviert. Aber auch geprägt durch meinen eigenen Berufsweg in die Softwarearchitektur. Ich bin bei der Bayer AG in der Ausbildung mit C-Programmierung gestartet, dann im Studium in die Objektorientierung eingetaucht. Später habe ich viel bei IBM gelernt …

Aber genug der Worte. Hier der komplette Satz:

Briefmarken Softwarearchitektur

Booch für 50 Cent? Die aufgedruckten Zahlen stellen keine fachliche Wertung dar. Sie entsprechen typischen Briefmarkenwerten und folgen aufsteigend der Reihenfolge der Besprechung in diesem Beitrag hier. Und die ist grob historisch.

Sichten auf Softwarearchitektur (10 - Phillipe Kruchten)
Das L in SOLID (20 - Barbara Liskov)
Mehr als Kästchen und Pfeile (50 - Grady Booch)
Muster als Kommunikationsmittel (80 - Erich Gamma)
Der erste Influencer der Softwarearchitektur (155 - Martin Fowler)
Cloud-Computing als neues Normal (270 - Werner Vogels)

Zu jeder Person gibt es zu Beginn ein Zitat von ihr unter der abgebildeten Marke und weitere Daten. Etwa ihre größten Hits (“bekannt für”) und wichtige Stationen.

Vermisst Ihr jemanden? (Nachtrag)

 

Sichten auf Softwarearchitektur

Phillippe Kruchten

“Das Leben eines Softwarearchitekten ist eine lange und manchmal schmerzhafte Abfolge suboptimaler Entscheidungen, die teilweise im Dunkeln getroffen werden.”

Phillippe Kruchten, geboren 1952 in Frankreich, lebt jetzt in Kanada

Bekannt für
Rational Unified Process (RUP)
4 + 1 Sichten

Wichtige Stationen
Rational Software (Director of Process Development)
University of British Columbia (Professor für Software Engineering)

Phillipe Kruchten habe ich als Vertreter der “Alten Schulte” der Softwarearchitektur ausgewählt. Er entwickelte mit dem RUP einen Prozess zur Software-Entwicklung, der zwar Phasen, gleichzeitig aber bereits Iterationen beinhaltet.

Seine Sichten (englisch “Views”) auf Softwarearchitektur beeinflussen die klassische Softwarearchitektur bis heute. Der ISO-Standard 42010 für die Beschreibung von Software- und Systemarchitektur fordert das Anfertigen von Sichten ebenso wie arc42. Bei Bausteinsicht, Laufzeitsicht, Verteilungssicht denke ich an Phillippe Kruchten.

 

Das L in SOLID

Barbara Liskov

“Das Problem bei Software ist, dass es keine offensichtlichen Grenzen gibt, mit denen man konfrontiert wird.”

Barbara Liskov, geboren 1939 in den USA

Bekannt für
Liskovsches Substitutionsprinzip

Wichtige Stationen
Massachusetts Institute of Technology (Professorin für Elektrotechnik und Informatik)

Barbara Liskov ist die einzige Person in unserem Markensatz, die bereits einen Turing Award erhalten hat (2006). Sie ist auch die einzige auf der Liste, nach der etwas für die Softwareentwicklung relevantes benannt ist.

Als ich 1994 anfing zu studieren kam ich von C zu C++ und später Java, und damit in die objektorientierte Welt. Die SOLID-Prinzipien umfassen 5 Regeln für den objektorientierten Softwareentwurf. Jeder Buchstabe dieses Merkwortes benennt ein Prinzip. Und das Liskovsche Substitutionsprinzip ist das “L” in SOLID.

Das Prinzip selbst ist recht speziell. Der Grund für den Turing Award sind Barbara Liskovs generelle Arbeiten an Programmiersprachen. Ihre Themen dort waren etwa (Daten-)Abstraktion und Fehlerbehandlung. Die Lösungsansätze hatten großen Einfluss auf spätere OO-Sprachen wie beispielsweise auf Java und C#.

Nach meinem Studium galt die Objektorientierung in der Industrie noch längere Zeit als Heilsversprechen. Sie wurde später abgelöst durch MDA, SOA, Microservices, die Cloud …

 

Mehr als Kästchen und Pfeile

Grady Booch

“Architektur umfasst die wichtigsten Entwurfsentscheidungen, die ein System prägen, wobei die Wichtigkeit an den Kosten gemessen wird, sie zu ändern.”

Grady Booch, geboren 1955 in den USA

Bekannt für
Objektorientierte Analyse und Design
Unified Modeling Language (UML, mit den 3 Amigos)

Wichtige Stationen
Rational Software (Chief Scientist)
IBM Fellow

Grady Booch ist der erste hier auf der Liste, den ich im Studium gelesen habe. Zur objektorientierten Analyse. Und er ist der einzige auf der Liste, mit dem ich mich persönlich ausgetauscht habe. Per Mail nur und kurz, es ging um UML. Ich fand es cool, dass er geantwortet hat.

Und tatsächlich dürfte Grady Booch vor allem dafür bekannt sein, die Unified Modeling Language (UML) als grafische Notation (mit) geschaffen zu haben. Bestimmte Aspekte lassen sich mit Diagrammen besser beschreiben als mit Text allein. Das gilt sowohl für Strukturen (wie zerfällt unser System in kleinere Teile und wie hängen sie zusammen) als auch für Abläufe. Und die UML kann dabei helfen.

Ganz besonders mag ich aber seinen Artikel The Accidental Architecture. Grady Booch führt darin aus, dass jedes interessante, Software-intensive System eine Architektur hat. Architektur im Sinne wichtiger Entscheidungen (siehe sein Zitat oben). Manche davon sind gewollt, manche passiert …

 

Muster als Kommunikationsmittel

Erich Gamma

Ein Entwurf, der Änderungen nicht berücksichtigt, riskiert in der Zukunft eine erhebliche Umgestaltung.

Erich Gamma, geboren 1961 in der Schweiz

Bekannt für
Design Patterns (als Mitglied der Gang of Four)
JUnit (gemeinsam mit Kent Beck)
Eclipse, Visual Studio Code

Wichtige Stationen
IBM Rational (Distinguished Engineer)
Microsoft (Distinguished Engineer)

Ich bin so alt, dass ich nicht nur “Die Rückkehr der Jedi-Ritter” im Kino gesehen habe, als sie (das erste Mal) rauskamen. Ich habe auch “Design Patterns. Elements of Reusable Object-Oriented Software” druckfrisch im Studium gelesen. Erich Gamma ist der berühmteste der vier Autoren, wohl dank alphabetischer Reihenfolge der Nennung - G wie Gamma am Anfang.

Die Idee, Lösungen für wiederkehrende Probleme zu katalogisieren und in immer gleicher Form als Muster zu beschreiben nahm mit diesem Buch seinen Anfang. Und während der Markt für IT-Bücher nicht mehr ganz einfach ist gehen Bücher mit “Patterns” im Titel immer noch hervorragend. Jüngere Beispiele sind etwa “Microservices Patterns” von Chris Richardson bei Manning oder “Kubernetes Patters” bei O’Reilly.

Neben den Entwurfsmustern sind die Arbeiten von Erich Gamma an Entwicklungsumgebungen beachtenswert. Sie sind wohl auch die Hauptquelle seines Musterwissens. Erich Gamma steht u.a. hinter Eclipse von IBM und Visual Studio Code von Microsoft. In einer klasse Keynote auf der OOP 2019, Titel: “20+ Years of Tools Development - and Still Loving It…” stellte er zentrale Architekturfragestellungen vor. Und wie er und sein Team diese in VS Code nach den Erfahrungen mit Eclipse völlig anders entschieden haben.

 

Der erste Influencer der Softwarearchitektur

Martin Fowler

Jeder Dummkopf kann Code schreiben, den ein Computer versteht. Gute Programmierer schreiben Code, den Menschen verstehen.

Martin Fowler, geboren 1963 in England

Bekannt für
Agiles Manifest (einer der Erstunterzeichner)
Standardwerk zu Refactoring
Normative Blogbeiträge

Wichtige Stationen
ThoughtWorks (Chief Scientist)

Martin Fowler wurde vor allem als Buchautor bekannt. “UML Distilled” lautet einer seiner frühen Titel, ein anderer “Analysis Patterns: Reusable Object Models”. Das berühmteste Buch von Martin Fowler ist “Refactoring: Improving the Design of Existing Code”. Für diesen Markensatz hätte er sich am ehesten mit “Patterns of Enterprise Application Architecture” (schon wieder Muster) qualifiziert.

Gerade jüngere Leser kennen Martin Fowler aber nicht durch seine Bücher, sondern seine Blog-Beiträge. Er hat ein verblüffendes Gespür dafür, relevante Begriffe früh als solche zu identifizieren, sie in einem Blog-Beitrag zu definieren und damit auch zu prägen. Er beeinflusste und beeinflusst die Art, wie wir Software bauen, damit nachhaltig. Als Beispiele hierzu seien Dependency Injection (2004) und Microservices (2014) genannt. Für den letzten Begriff hielt er mit seinem Beitrag in der Google-Suche jahrelang PLatz 1.

 

Cloud-Computing als neues Normal

Werner Vogels

Alles schlägt fehl, die ganze Zeit.

Werner Vogels, geboren 1958 in den Niederlanden

Bekannt für
Beiträge zur Eventual Consistency
AWS, Amazons Ansatz für Cloud Computing

Wichtige Stationen
Amazon (CTO)

Während im klassische RUP in Phasen wie Konzeption, Elaboration, Konstruktion und Transition (Auslieferung der Software an den Kunden) gedacht, wurde dreht sich die Software-Welt heute in vielen Bereichen schneller. Deployments im Minutentakt.

Flexibilität heißt schnell auf Änderungen regieren zu können. Dies kann den Bedarf nach neuer Funktionalität in der Software bedeuten (“Time to Market”), mit variierenden Lastanforderungen oder Störungen umgehen zu können oder neue Technologien schnell aufzugreifen.

Der Betrieb von Anwendungen in der Cloud ist heute aus verschiedenen Gründen ein beliebter Lösungsansatz hierzu. Amazon Web Services (kurz AWS) als prominenteste Public Cloud ist häufig die Zielumgebung. Amazon ist es gelungen, neben seiner führenden Stellung im Online-Handel auch ganz vorne bei Cloud-Diensten zu sein. Werner Vogels gilt als der Kopf hinter Amazons Cloud-Lösungen.

Was glaubt Ihr: Wem von unserer kleinen Auswahl auf den Briefmarken folgen die meisten auf Twitter? Hätte ich raten müssen, meine Antwort wäre Martin Fowler gewesen. Tatsächlich ist es Werner Vogels. Stand März 2021: 316.1k Follower. Sein Twitter-Handle: @Werner

 

Vermisst Ihr jemanden?

Vermutlich schon. Die Beschränkung auf nur sechs Marken im Satz war willkürlich. Gleichzeitig ist das Schöne an solch einem Limit ja, dass wir uns entscheiden müssen. Und auch trefflich darüber streiten können, wer einen Platz in der Top-6-Liste mehr verdient hätte.

Wir haben hier bei embarc tatsächlich ein wenig über eine längere Liste diskutiert. Und dann einige Kandidaten verworfen.

Für Neugierige: Aspiranten auf unserer internen Kandidatenliste waren unter anderem David Parnas (Information Hiding, deutsch: Geheimnisprinzip), Robert C. Martin (SOLID-Prinzipien), Eric Evans (Domain Driven Design, kurz DDD) und Adrian Cockcroft (Netflix).

Kleiner Hinweis am Schluss: Die Marken hier sind keine amtlichen Postwertzeichen. Das heißt Ihr könnt keine Briefe damit freimachen. Im Gegensatz dazu sind die neuen 50-Pfund-Noten, die gerade mit dem Konterfei von Alan Turing erschienen sind, offizielles Zahlungsmittel im Vereinigten Königreich.

Nochmal ein Dickes Danke an Katharina für die Gestaltung der schönen Marken!