Read in English · Leer en español · Lire en français
Kapitel 1 von 12 · Einsteiger bis Mittelstufe
Was Softwarearchitektur ist
Dieses Kapitel erklärt, was Softwarearchitektur ist und warum sie zählt. Es vergleicht die Standarddefinitionen, grenzt Architektur von Design ab, zeigt an echten Vorfällen, wie strukturelle Entscheidungen Kosten, Qualität und Risiko bestimmen, und beschreibt, was Architekten tun. Anschließend behandelt es Stakeholder und ihre Anliegen, Entscheidungen und Abwägungen, technische Schulden und Erosion sowie den Platz der Architektur in der modernen iterativen Softwareauslieferung. Es richtet sich an Entwicklerinnen und Entwickler, die in Architekturverantwortung hineinwachsen, und an alle, die mit Architekten zusammenarbeiten, und setzt nur die Bausteine aus Kapitel 0 voraus.
Videoeinführung in Kapitel 1
6 Min. · auf Englisch gesprochen, mit UntertitelnNur anhören (Audio)
Transkript lesen
Willkommen zu Kapitel 1: Was Softwarearchitektur ist. Kapitel null hat Ihnen die Bausteine gegeben. Dieses Kapitel tritt einen Schritt zurück und fragt, was es heißt, diese Bausteine bewusst anzuordnen, wer das tut und warum sich der Aufwand lohnt. Es gibt Ihnen das Vokabular für den restlichen Kurs und eine Denkweise für jedes System, von einer kleinen Buchungs-App bis zu einer nationalen Zahlungsplattform.
Jedes Softwaresystem hat eine Architektur, ob sie jemand entworfen hat oder nicht. Sie ist die Menge der grundlegenden Strukturen, aus denen das System besteht, und der bedeutsamen Entscheidungen, die sie hervorgebracht haben. Diese Strukturen entscheiden weit mehr, als den meisten bewusst ist: wie schnell und zuverlässig das System ist, was sein Betrieb kostet und wie viele Teams gleichzeitig daran arbeiten können. Vor allem entscheiden sie, wie teuer es sein wird, das System im nächsten Jahr zu ändern. Features sind das, was ein System tut. Die Architektur entscheidet weitgehend, wie gut es das tut und was es kostet, etwas anderes zu tun.
Dieses Kapitel richtet sich an Entwickler, die in Architekturverantwortung hineinwachsen. Es ist auch für alle, die mit Architekten zusammenarbeiten und verstehen wollen, was sie tun und warum. Es baut auf den Bausteinen aus Kapitel null auf: Komponenten, Datenspeicher, Netzwerke und APIs. Wenn Sie damit vertraut sind, sind Sie bereit. Und es führt zu Kapitel 2, das die Ziele einer Architektur als Qualitätsmerkmale präzise und messbar macht.
Das Kapitel hat acht Abschnitte. Abschnitt eins Punkt eins vergleicht die maßgeblichen Definitionen, vom internationalen Standard und vom Software Engineering Institute, kurz SEI, bis zu Praktikern, die gemeinsames Verständnis und schwer änderbare Entscheidungen betonen. Abschnitt eins Punkt zwei geht die häufigste Verwechslung an: wo Architektur endet und Design beginnt. Die Antwort: Es gibt keine Mauer, nur ein Kontinuum, geordnet nach Bedeutsamkeit. Abschnitt eins Punkt drei begründet, warum Architektur wichtig ist, anhand von drei echten Fällen: dem Handelsverlust von Knight Capital im Jahr zweitausendzwölf, dem holprigen Start von HealthCare Punkt gov im Jahr zweitausenddreizehn und einer Umstellung bei Amazon Prime Video im Jahr zweitausenddreiundzwanzig.
Dieses Diagramm aus Abschnitt eins Punkt eins zeigt am Beispiel eines Essenslieferdienstes, was die Definitionen gemeinsam haben. Die gestrichelte Linie ist die Systemgrenze. Die Kästen darin sind Elemente: eine mobile App, ein Bestellservice, eine Bestelldatenbank, ein Kurierservice und ein Zahlungsmodul. Die Pfeile sind Beziehungen. Die App ruft den Bestellservice über HTTPS auf. Der Bestellservice fragt die Datenbank mit SQL ab und sendet ein Ereignis an den Kurierservice. Kleine Beschriftungen halten Eigenschaften fest. Der Bestellservice zum Beispiel ist zustandslos und läuft in drei Kopien. Außerhalb der Grenze liegt die Umgebung: Kunden, Kuriere und Restaurants sowie der Kartenzahlungsanbieter. Und die Umgebung umfasst mehr als andere Systeme. Dazu gehören auch Recht, Budget, die Organisation und ihre Teams sowie die Cloud-Plattform. Ohne sie lässt sich eine Architektur nicht verstehen.
Abschnitt eins Punkt vier wendet sich den Menschen zu: was Architekten tatsächlich tun, welche Arten es gibt, warum Architektur eine Rolle ist, bevor sie eine Berufsbezeichnung ist, und die lange Debatte, ob Architekten noch Code schreiben sollten. Abschnitt eins Punkt fünf weitet den Blick auf die Stakeholder, also alle, die ein Interesse am System haben, von Nutzern und Entwicklern bis zu Aufsichtsbehörden. Er zeigt, wie widersprüchliche Anliegen explizit gemacht werden, statt von dem entschieden zu werden, der am lautesten ruft. Abschnitt eins Punkt sechs widmet sich Entscheidungen und Abwägungen: was eine gute Entscheidung enthält, welche Entscheidungen leicht umkehrbar sind und welche nicht, und der Idee, zum Last Responsible Moment zu entscheiden.
In den letzten beiden Abschnitten geht es um Zeit. Abschnitt eins Punkt sieben erklärt technische Schulden so, wie Ward Cunningham sie ursprünglich gemeint hat, wie sie sich von bloßer Unordnung unterscheiden und wie Architekturen erodieren und von ihrer beabsichtigten Form abdriften. Abschnitt eins Punkt acht verortet Architektur im Lebenszyklus zwischen Big Design Up Front und rein emergentem Design und zeigt einen praktischen Mittelweg: gerade genug Architektur, zum richtigen Zeitpunkt, laufend überprüft.
Dieses Diagramm aus Abschnitt eins Punkt zwei zeigt, wie man Architektur von Design unterscheidet. Entscheidungen weiter links sind architekturrelevanter, weiter rechts eher eine Frage von Design und Code. Der erste Test sind die Kosten, eine Entscheidung rückgängig zu machen: Monate Arbeit für viele Teams am einen Ende, Minuten für eine Person am anderen. Der zweite ist die Reichweite: das ganze System oder die ganze Organisation oder nur eine Funktion oder Klasse. Der dritte ist die Wirkung auf zentrale Qualitätsmerkmale. Die Punkte setzen eine echte Entscheidung, die Wahl des Nachrichtenformats, auf jede Linie, und auf allen drei neigt sie zum architektonischen Ende.
Wenn Sie sich aus diesem Kapitel nur eines merken, dann dies. Architektur ist die Menge der Entscheidungen, bei denen ein Fehler teuer wird. Die Aufgabe des Architekten ist, diese Entscheidungen zu erkennen, sie bewusst mit den richtigen Leuten zu treffen, die Gründe festzuhalten und sie im Blick zu behalten, während möglichst viele andere Entscheidungen billig änderbar bleiben. Der restliche Kurs wendet diesen Gedanken an.
Sie können die Abschnitte der Reihe nach lesen, was sich empfiehlt, wenn die Ideen neu sind, oder gezielt die auswählen, die Sie brauchen. Das ganze Kapitel dauert etwa zweieinhalb Stunden Lesezeit. Jeder Abschnitt endet mit einigen Fragen zur Selbstkontrolle. Versuchen Sie, sie im Kopf zu beantworten, bevor Sie nachsehen, damit Sie merken, was hängen geblieben ist. Wenn Sie so weit sind, gibt es einen freiwilligen Kapiteltest mit zwanzig Multiple-Choice-Fragen und zwei schriftlichen Antworten. Planen Sie etwa fünfundvierzig Minuten ein. Die Bestehensgrenze liegt bei achtzig Prozent, wie bei jedem Kapiteltest im Kurs.
Das ist die Übersicht über Kapitel 1. Beginnen Sie mit Abschnitt eins Punkt eins, wo wir die Standarddefinitionen der Softwarearchitektur vergleichen und herausarbeiten, was sie gemeinsam haben. Bis gleich.
Auf einen Blick
Das lernen Sie
- Die Definitionen von Softwarearchitektur nach ISO/IEC/IEEE 42010:2022 und nach dem SEI sowie ihre gemeinsamen Ideen erklären.
- Modul-, Komponenten-und-Konnektoren- und Zuordnungsstrukturen unterscheiden sowie eine Architektur von ihrer Beschreibung.
- Entscheidungen anhand von Umkehrbarkeit, Reichweite und Wirkung auf Qualitätsmerkmale als Architektur- oder Designentscheidungen einordnen.
- Analysieren, wie strukturelle Entscheidungen zu echten Vorfällen wie bei Knight Capital und HealthCare.gov beigetragen haben.
- Die Verantwortlichkeiten, Fähigkeiten und Arten von Architekten beschreiben und wie Architekten praktisch am Ball bleiben.
- Stakeholder und ihre Anliegen erkennen und widersprüchliche Anliegen explizit machen.
- Architekturentscheidungen als Abwägungen bewerten und dabei Umkehrbarkeit und Zeitpunkt berücksichtigen.
- Technische Schulden, Erosion und Drift erklären und wie man sie über den Lebenszyklus erkennt und steuert.
Bevor Sie beginnen
Kapitel 0 oder praktische Grundkenntnisse über Komponenten, Datenbanken, APIs, Netzwerke und die Cloud.
Zeit
Etwa 2½ Stunden Lesezeit; 45 Minuten für den Test.
Schlüsselbegriffe
Softwarearchitektur · Architekturbeschreibung · Struktur · Architekturrelevant · Qualitätsmerkmal · Änderungskosten · Stakeholder · Anliegen · Abwägung (Trade-off) · Umkehrbarkeit · Technische Schulden · Architekturerosion · Fitness Function · Gesetz von Conway
Warum dieses Kapitel am Anfang steht
Jedes Softwaresystem hat eine Architektur, ob sie jemand entworfen hat oder nicht. Sie ist die Menge der grundlegenden Strukturen, aus denen das System besteht (seine Hauptteile, wie sie verbunden sind und welche Eigenschaften sie haben), und der bedeutsamen Entscheidungen, die sie hervorgebracht haben. Diese Strukturen entscheiden weit mehr, als den meisten bewusst ist: wie schnell und zuverlässig das System ist, wie viel sein Betrieb kostet, wie viele Teams gleichzeitig daran arbeiten können und vor allem, wie teuer es sein wird, es im nächsten Jahr zu ändern. Features sind das, was ein System tut; die Architektur entscheidet weitgehend darüber, wie gut es das tut und was es kostet, etwas anderes zu tun.
Kapitel 0 hat die Bausteine vorgestellt: Programme, Datenspeicher, Netzwerke, APIs, Server und die Cloud. Dieses Kapitel tritt einen Schritt zurück und fragt, was es bedeutet, diese Bausteine bewusst anzuordnen, wer das tut und warum sich der Aufwand lohnt. Es gibt Ihnen das Vokabular, auf dem der restliche Kurs aufbaut, und eine Denkweise, die Sie auf jedes System anwenden können, von einer kleinen Buchungs-App bis zu einer nationalen Zahlungsplattform.
Was Architektur ist und was nicht
In den ersten beiden Abschnitten geht es um Definitionen, denn unklare Definitionen führen zu unklarer Arbeit. Abschnitt 1.1 vergleicht die maßgeblichen Definitionen: den internationalen Standard ISO/IEC/IEEE 42010:2022, der von den grundlegenden Konzepten oder Eigenschaften eines Systems in seiner Umgebung und den Prinzipien spricht, die seine Weiterentwicklung bestimmen; die Definition des Software Engineering Institute, die von den Strukturen spricht, die man braucht, um über ein System nachzudenken, bestehend aus Elementen, Beziehungen und deren Eigenschaften; und Definitionen aus der Praxis, die gemeinsames Verständnis und schwer änderbare Entscheidungen betonen. Er zeigt, was sie gemeinsam haben, und stellt drei Arten von Strukturen vor, die jedes System hat: wie sein Code aufgeteilt ist, was zur Laufzeit läuft und mit wem kommuniziert und wie die Software auf Infrastruktur und Teams abgebildet wird.
Abschnitt 1.2 geht dann die häufigste Verwechslung an: wo Architektur endet und Design beginnt. Die Antwort lautet: Es gibt keine Mauer, nur ein Kontinuum, geordnet nach Bedeutsamkeit. Eine Entscheidung ist architekturrelevant, wenn sie teuer rückgängig zu machen ist, eine große Reichweite hat oder für ein zentrales Qualitätsmerkmal ausschlaggebend ist; deshalb kann eine unscheinbare Konvention wie die Speicherung von Geldbeträgen architekturrelevanter sein als ein großer Kasten in einem Diagramm. Der Abschnitt unterscheidet außerdem die Ebenen, auf denen das Wort verwendet wird: Unternehmens-, Lösungs- und Softwarearchitektur, quer dazu Daten-, Sicherheits- und Infrastrukturarchitektur.
Warum sie zählt und wer sie macht
Abschnitt 1.3 begründet, warum Architektur wichtig ist. Er zeigt, wie Qualitätsmerkmale wie Verfügbarkeit und Performance aus der Struktur entstehen statt aus einzelnen Codezeilen, wie die Änderungskosten steigen, je mehr auf einer Entscheidung aufgebaut wird, und wie Architektur Risiko, Teamorganisation (über das Gesetz von Conway), Kommunikation und Schätzungen prägt. Drei echte Fälle, anhand von Primärquellen erzählt, untermauern das Argument: der Handelsverlust von Knight Capital im August 2012, der holprige Start von HealthCare.gov im Oktober 2013 und die Entscheidung von Amazon Prime Video im Jahr 2023, einen Monitoring-Dienst von verteilten Serverless-Schritten auf einen einzigen Prozess umzustellen, was dessen Kosten Berichten zufolge um über 90 % senkte und zeigt, dass es bei Architektur um Passung geht, nicht um Mode.
Abschnitt 1.4 wendet sich den Menschen zu. Er beschreibt, was Architekten tatsächlich tun, anhand der acht Erwartungen von Mark Richards und Neal Ford und der Aufgaben im iSAQB-Foundation-Lehrplan; die verschiedenen Arten von Architekten; warum Architektur eine Rolle ist, bevor sie eine Berufsbezeichnung ist; warum Architekten breites Wissen schätzen; und die lange Debatte darüber, ob Architekten noch selbst Code schreiben sollten.
Abschnitt 1.5 weitet den Blick auf die Stakeholder (alle, die ein Interesse am System haben, von Nutzern und Entwicklern bis zu Betriebsteams, Datenschutzbeauftragten und Aufsichtsbehörden) und ihre Anliegen und zeigt, wie widersprüchliche Anliegen explizit gemacht werden, statt von dem entschieden zu werden, der am lautesten ruft. Abschnitt 1.6 widmet sich Entscheidungen und Abwägungen: dem Aufbau einer guten Entscheidung, dem Unterschied zwischen leicht umkehrbaren und nicht umkehrbaren Entscheidungen, der Idee, zum Last Responsible Moment zu entscheiden, und den Denkfallen, die auch fähige Menschen in die Irre führen.
Architektur im Lauf der Zeit
In den letzten beiden Abschnitten geht es um Zeit. Abschnitt 1.7 erklärt technische Schulden so, wie Ward Cunningham sie 1992 ursprünglich gemeint hat, wie sie sich von bloßer Unordnung unterscheiden und wie Architekturen erodieren und von ihrer beabsichtigten Form abdriften; er zeigt, wie man den Schaden erkennt und in geschäftlichen Begriffen erklärt. Abschnitt 1.8 verortet Architektur im Lebenszyklus der Auslieferung: den alten Streit zwischen Big Design Up Front und rein emergentem Design und den praktischen Mittelweg einer risikogetriebenen, kontinuierlichen und evolutionären Architektur, bei der ein Team gerade so viel Architektur betreibt wie nötig, zum richtigen Zeitpunkt, und laufend prüft, ob sie noch passt.
Der eine Gedanke zum Mitnehmen
Wenn Sie sich aus diesem Kapitel nur eines merken, dann dies: Architektur ist die Menge der Entscheidungen, bei denen ein Fehler teuer wird, und die Aufgabe des Architekten besteht darin, diese Entscheidungen zu erkennen, sie bewusst mit den richtigen Leuten zu treffen, die Gründe festzuhalten und sie im Blick zu behalten, während möglichst viele andere Entscheidungen billig änderbar bleiben. Alles Weitere in diesem Kurs, von den Qualitätsmerkmalen in Kapitel 2 bis zum Entwurf KI-gestützter Systeme in Kapitel 12, ist eine Anwendung dieses Gedankens.
Die 8 Abschnitte
Kapiteltest
Prüfen Sie Ihr Verständnis von Kapitel 1
Optional: 20 Multiple-Choice-Fragen und 2 kurze schriftliche Antworten, jedes Mal neu aus einem Pool von 72 Fragen gezogen. Bestehensgrenze 80 %. Wer jeden Kapiteltest und anschließend die Abschlussbewertung besteht, erhält das Be Wise Abschlusszertifikat.
Den Test zu Kapitel 1 in der App ablegenWeiterführende Literatur
- Software Architecture in Practice, 4th edition, Len Bass, Paul Clements and Rick Kazman (2021), Addison-Wesley. Das Standardlehrbuch des SEI: Strukturen, Qualitätsmerkmale und Taktiken sowie die Definition, die in diesem Kurs durchgehend verwendet wird.
- Fundamentals of Software Architecture, 2nd edition, Mark Richards and Neal Ford (2025), O'Reilly Media. Eine praxisnahe, gut lesbare Einführung in die Rolle des Architekten, das Denken in Abwägungen und Architekturstile.
- ISO/IEC/IEEE 42010:2022 Software, systems and enterprise: Architecture description, ISO/IEC JTC 1/SC 7 and IEEE (2022), ISO. Der internationale Standard für Architekturbeschreibungen, Stakeholder, Anliegen und Sichten.
- Documenting Software Architectures: Views and Beyond, 2nd edition, Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Paulo Merson, Robert Nord and Judith Stafford (2010), Addison-Wesley. Die Quelle der Strukturkategorien Modul, Komponente und Konnektor sowie Zuordnung.
- Who Needs an Architect?, Martin Fowler (2003), IEEE Software. Ein kurzer, einflussreicher Essay darüber, was Architektur ist und welche Art von Architekt ein Team braucht.
- Just Enough Software Architecture: A Risk-Driven Approach, George Fairbanks (2010), Marshall & Brainerd. Erklärt, wie viel Architekturarbeit nötig ist, ausgerichtet an den Risiken, denen ein Projekt tatsächlich gegenübersteht.
- The Software Architect Elevator, Gregor Hohpe (2020), O'Reilly Media. Über die Rolle des Architekten in großen Organisationen, als Bindeglied zwischen Geschäftsstrategie und technischer Umsetzung.
- The WyCash Portfolio Management System (OOPSLA '92 experience report), Ward Cunningham (1992), OOPSLA 1992. Der kurze Bericht, in dem die Metapher der technischen Schulden zum ersten Mal auftauchte.