Be Software Architecture Wise
Be Wise Apps

Read in English · Leer en español · Lire en français

Abschnitt 11.2 von 11.8 · Fortgeschritten · 26 Min. Lesezeit

Leichtgewichtige Reviews und Risk-Storming

Videolektion

5 Min. · auf Englisch gesprochen, mit Untertiteln
Nur anhören (Audio)
Transkript lesen

Nicht jede Entscheidung braucht eine formale Bewertung. In dieser Lektion lernen Sie kurze, praktische Reviews kennen, die Risiken finden, solange sie noch günstig zu beheben sind.

Vor einer langen Wanderung breitet eine umsichtige Gruppe die Karte auf dem Tisch aus. Alle markieren still und jeder für sich die Stellen, die ihnen Sorgen machen: die Flussquerung, den steilen Hang, den Abschnitt ohne Handyempfang. Dann vergleichen sie. Stellen, die viele markiert haben, bekommen einen Plan. Eine Stelle, die nur eine Person markiert hat, bekommt eine Frage, denn diese Person weiß vielleicht etwas, das die anderen nicht wissen. Leichtgewichtige Architektur-Reviews funktionieren genauso.

Viele Organisationen nutzen ein Review-Gremium: erfahrene Architekten, die monatlich tagen und Entwürfe genehmigen oder ablehnen. Die Absicht ist vernünftig, aber die Ergebnisse sind oft schlecht, aus strukturellen Gründen. Der Zeitpunkt. Das Gremium sieht einen Entwurf meist zu spät, nach Prototyp, Anbieterwahl und zugesagtem Termin, und genehmigt daher unter Auflagen, die niemand nachverfolgt. Der Kontext. Reviewer, die das System nicht kennen, stellen allgemeine Fragen und übersehen Risiken, die die eigenen Leute des Teams in Minuten nennen könnten. Die Anreize. Wenn ein Review eine Prüfung ist, präsentieren Teams den Entwurf, den sie genehmigt haben wollen, nicht ihre Zweifel. Und die Warteschlange. Wochenlanges Warten verleitet Teams dazu, Entscheidungen als geringfügig zu deklarieren, um das Gremium zu umgehen. Reviews wirken besser, wenn sie häufig, früh, gemeinsam und risikoorientiert sind.

Risk-Storming wurde von Simon Brown entwickelt, dem Urheber des C4-Modells. Erstens hängen Sie Diagramme dessen auf, was Sie bauen wollen, meist ein Systemkontextdiagramm und ein Containerdiagramm. Zweitens schreibt jede Person etwa zehn Minuten lang schweigend Risiken auf, eines pro Haftnotiz. Das Schweigen verhindert, dass die erste oder ranghöchste Stimme alle anderen verankert. Drittens kleben alle ihre Notizen auf den Teil des Diagramms, den das jeweilige Risiko betrifft. Sofort entstehen Häufungen, und das Diagramm wird zur Heatmap. Viertens: besprechen. Besprechen Sie die Häufungen und achten Sie dann genau auf Risiken, die nur eine Person genannt hat, und auf Risiken, denen verschiedene Personen sehr unterschiedliche Prioritäten gegeben haben. Jedes Risiko wird als Wahrscheinlichkeit mal Auswirkung bewertet, jeweils von eins bis drei, sodass die Werte von eins bis neun reichen. Sechs oder neun gilt als hoch.

Hier ist das Containerdiagramm der Essenslieferplattform nach dem Zusammenführen, mit den Werten, die sich aus den Notizen ergaben. Neun beim externen Zahlungsanbieter und sechs beim Bestellservice, der ihn synchron aufruft. Sechs beim gemeinsamen API-Gateway, das alle drei Apps durchlaufen. Und sechs beim Benachrichtigungsservice, der Restaurants über einen externen Push-Dienst erreicht. Diese Hotspots sollten zuerst besprochen werden.

Sechs Personen, darunter Betrieb, Sicherheit und ein Support-Engineer, verbrachten fünfundsiebzig Minuten mit diesem Diagramm. Nach zehn schweigenden Minuten kamen einunddreißig Notizen an die Wand, die sich zu acht unterschiedlichen Risiken zusammenfassen ließen. Der Zahlungsanbieter erhielt neun und wurde von vier Personen genannt. Seine Maßnahme: ein Entscheidungsdokument zur asynchronen Autorisierung, verantwortet vom Architekten, fällig in zwei Wochen. Unbestätigte Restaurant-Benachrichtigungen nannte nur der Support-Engineer, der jeden Freitag Beschwerden über verpasste Bestellungen sieht. Es war der wertvollste Befund, von der Person, die am wenigsten wahrscheinlich als Erste gesprochen hätte. Die Kafka-Kenntnisse wurden von einer Person mit neun und von den anderen mit zwei bewertet. Der einzige Ingenieur, der Kafka schon betrieben hatte, erklärte die Probleme, und die Gruppe einigte sich auf vier. Wissen gab den Ausschlag, nicht die Mittelung. Dass der Standortspeicher beim Neustart Daten verliert, galt übereinstimmend nicht als Risiko, weil die Positionen alle vier Sekunden aktualisiert werden. Auch das wurde festgehalten, mit seiner Annahme. Jedes vereinbarte Risiko verließ den Raum mit einer verantwortlichen Person und einer Maßnahme, und das Risikoregister wurde noch am selben Tag veröffentlicht.

Risk-Storming betrachtet eine Struktur. Ein Pre-Mortem, 2007 von Gary Klein beschrieben, betrachtet einen Plan. Alle stellen sich vor, das Vorhaben sei bereits gründlich gescheitert, und schreiben auf, warum. Das bringt Zweifel an Fähigkeiten, Zeitplänen und Lieferanten ans Licht, die Diagramm-Reviews übersehen. Architektur-Katas, entwickelt von Ted Neward, sind Übungsaufgaben für kleine Teams. Sie schulen die Fähigkeit, einen Entwurf unter Befragung zu erklären und gute Fragen zum Entwurf anderer zu stellen. Der Tiny Architectural Review Approach, kurz TARA, prüft ein System, das bereits läuft. Er verbindet Expertenurteil mit automatisierter Analyse von Code und Laufzeitdaten. Und bei einem schriftlichen Design-Review nennen Sie die gesuchte Entscheidung und eine Kommentarfrist, benennen die verpflichtenden Reviewer und bitten darum, jeden Kommentar als Frage, Vorschlag oder blockierenden Einwand zu kennzeichnen.

Der vollständige Abschnitt enthält ein Format für ein neunzigminütiges Review, eine Hilfe zur Wahl der Technik und eine Checkliste mit Fragen. Als Nächstes, in Abschnitt elf Punkt drei, machen wir aus Reviews dauerhafte Prüfungen mit Fitness Functions. Bis gleich.

Was Sie wissen müssen

Warum schwergewichtige Review-Gremien oft scheitern

Viele Organisationen steuern Architektur über ein Architecture Review Board: ein Gremium erfahrener Architekten, das monatlich tagt, einen Foliensatz oder ein langes Dokument erhält und Entwürfe genehmigt oder ablehnt. Die Absicht ist vernünftig: unabhängige, erfahrene Augen auf wesentliche Entscheidungen. Die Ergebnisse sind oft schlecht, aus Gründen, die strukturell und nicht persönlich sind.

Das erste Problem ist der Zeitpunkt. Ein Gremium, das zu festen Zeitpunkten tagt, sieht einen Entwurf entweder zu früh (noch ist nichts entschieden) oder, weit häufiger, zu spät, wenn das Team schon einen Prototyp gebaut, sich an einen Anbieter gebunden und einen Termin zugesagt hat. Eine Ablehnung ist dann so teuer, dass das Gremium unter Auflagen genehmigt, die niemand nachverfolgt. Das zweite ist der Kontext: Reviewer, die eine Stunde mit einem System verbringen, das sie nie gesehen haben, stellen allgemeine Fragen und übersehen die konkreten Risiken, die die eigenen Entwickler, Betriebs- und Sicherheitsfachleute des Teams in Minuten nennen könnten. Das dritte sind die Anreize: Wenn ein Review eine Prüfung ist, präsentieren Teams den Entwurf, den sie genehmigt haben wollen, nicht ihre Zweifel, und das Gremium erfährt wenig. Das vierte ist die Warteschlange: Eine monatliche Sitzung mit voller Tagesordnung fügt jeder wesentlichen Entscheidung Wochen des Wartens hinzu und verleitet Teams dazu, das Gremium zu umgehen, indem sie Entscheidungen als geringfügig deklarieren.

Das alles heißt nicht, dass unabhängige Reviews wertlos sind. Regulierte Branchen (Banken, Gesundheitswesen, Luftfahrt) brauchen oft eine dokumentierte Freigabe, und manche Entscheidungen brauchen tatsächlich die Autorität eines leitenden Gremiums. Die Lehre ist, dass Reviews häufig, früh, gemeinsam und risikoorientiert sein sollten, wobei eine formale Genehmigung den wenigen Entscheidungen vorbehalten bleibt, die sie wirklich erfordern. Abschnitt 11.4 greift auf, wie Governance ohne langsame Gates funktionieren kann.

Was ein gutes leichtgewichtiges Review leistet

Ein leichtgewichtiges Review ist eine kurze, strukturierte Sitzung, typischerweise ein bis zwei Stunden, in der die Menschen, die einen Entwurf am besten kennen, und einige, die ihn mit frischem Blick sehen, gemeinsam nach Risiken suchen. Es zielt auf vier Dinge: Risiken entdecken, solange sie günstig zu beheben sind, ein gemeinsames Verständnis des Entwurfs im Team aufbauen, die Annahmen des Architekten unabhängig hinterfragen und eine Aufzeichnung der akzeptierten, abgemilderten oder verworfenen Risiken hinterlassen. Sein Ergebnis ist eine priorisierte Risikoliste mit Verantwortlichen, kein Urteil.

Mehrere Techniken passen zu dieser Beschreibung. Sie unterscheiden sich darin, was sie untersuchen (ein Diagramm, einen Plan, ein Dokument oder ein laufendes System) und worin sie am besten sind, und sie lassen sich gut kombinieren.

Leichtgewichtige Review-Techniken im Vergleich

TechnikUntersuchtAm besten fürTypische Dauer
Risk-Storming (Simon Brown)ArchitekturdiagrammeTechnische Risiken schnell mit dem ganzen Team finden45 bis 90 Minuten
Pre-Mortem (Gary Klein)Einen Plan oder eine EntscheidungZweifel am gesamten Vorhaben aufdecken, einschließlich Personen und Zeitplan30 bis 60 Minuten
Architektur-Kata (Ted Neward)Eine kurze, erfundene oder reale AufgabenstellungEntwurfskompetenz aufbauen und Alternativen erkunden1 bis 3 Stunden
TARA (Eoin Woods)Ein bestehendes System: Personen, Dokumente, Code und LaufzeitdatenEin laufendes System auf Drift und Risiken prüfenEinige Tage Expertenaufwand
Design- oder RFC-ReviewEinen schriftlichen VorschlagAsynchrone, offene Kommentierung vor dem BauEin Kommentarfenster von Tagen plus eine kurze Besprechung
Checklisten-ReviewJeden EntwurfSicherstellen, dass die üblichen blinden Flecken bedacht wurdenTeil jeder der obigen Techniken

Risk-Storming

Risk-Storming ist eine visuelle, kollaborative Technik von Simon Brown, dem Urheber des C4-Modells (Abschnitt 4.3). Sie beruht auf einer einfachen Beobachtung: Verschiedene Menschen sehen verschiedene Risiken, und am besten sammelt man sie, indem man alle vor dieselben Diagramme stellt und sie bittet, unabhängig hinzusehen, bevor diskutiert wird. Sie hat vier Schritte.

1. Die Architektur zeichnen. Hängen Sie Diagramme dessen auf, was Sie bauen oder ändern wollen, idealerweise auf mehr als einer Ebene: Ein Systemkontextdiagramm und ein Containerdiagramm genügen meist, dazu ein Komponentendiagramm für den riskantesten Container. 2. Risiken einzeln identifizieren. Alle Beteiligten schreiben etwa zehn Minuten lang schweigend je ein Risiko pro Haftnotiz, mit kurzer Beschreibung und Priorität. Das Schweigen ist wichtig: Es verhindert, dass die erste oder ranghöchste Stimme alle anderen verankert, und genau so verlieren Gruppendiskussionen am häufigsten Information. 3. Die Risiken auf den Diagrammen zusammenführen. Alle kleben ihre Notizen auf den Teil des Diagramms, den das Risiko betrifft. Sofort entstehen Häufungen, und das Diagramm wird zur Heatmap. 4. Besprechen und zusammenfassen. Die Gruppe bespricht die Häufungen und achtet dann besonders auf zwei Arten von Notizen: Risiken, die nur eine Person genannt hat (oft jemand mit Wissen, das anderen fehlt, etwa der Support-Engineer), und Risiken, denen verschiedene Personen sehr unterschiedliche Prioritäten gegeben haben (ein Zeichen für ein Missverständnis). Vereinbarte Risiken kommen mit Verantwortlichen in ein Risikoregister; Punkte, die man übereinstimmend nicht als Risiko einstuft, werden ebenfalls festgehalten.

Die Priorität wird meist als Wahrscheinlichkeit mal Auswirkung bewertet, jeweils niedrig (1), mittel (2) oder hoch (3), was Werte von 1 bis 9 ergibt. Browns Leitfaden teilt sie ein in hoch (6 oder 9), mittel (3 oder 4) und niedrig (1 oder 2), üblicherweise dargestellt mit rosa oder roten, gelben oder orangefarbenen und grünen Notizen. Eine Liste von Denkanstößen hilft, über das eigene Fachgebiet hinauszudenken: Skalierbarkeit, Verfügbarkeit, Performance, Sicherheit, Datenkonsistenz, Abhängigkeiten von Drittanbietern, Kosten, technologische Reife, Fähigkeiten des Teams sowie Auslieferung und Betrieb.

Eine Risk-Storming-Heatmap auf einem Containerdiagramm

Ein C4-Containerdiagramm der Essenslieferplattform mit auf den Containern markierten Risk-Storming-Werten, das Hotspots beim Zahlungsanbieter, beim Bestellservice, beim API-Gateway und beim Benachrichtigungsservice zeigtKunden-AppRestaurant-AppKurier-AppAPI-GatewayZahlungs-anbieter (extern)Bestell-serviceDispo-serviceBenachr.-servicesyncBestell-DBStandort-DBPush(extern)Event Broker (Kafka)publiziertkonsumiert96664446Wert 6 bis 9Wert 3 bis 4Hotspot
Nach dem Zusammenführen häufen sich die Werte auf dem Bestell- und Zahlungspfad, dem gemeinsamen Gateway und den Restaurant-Benachrichtigungen; diese Container sind die Hotspots, die zuerst besprochen werden.

Ausgearbeitetes Beispiel

Ausgearbeitetes Beispiel: Risk-Storming am Containerdiagramm der Essenslieferplattform

Sechs Personen (der Architekt, zwei Entwickler, ein Betriebsingenieur, ein Sicherheitsingenieur und ein Support-Engineer, der Beschwerden von Restaurants bearbeitet) verbrachten 75 Minuten mit dem obigen Containerdiagramm, das Systemkontextdiagramm daneben. Alle schrieben zehn Minuten lang schweigend Risiken auf; 31 Notizen kamen an die Wand, die sich zu 8 unterschiedlichen Risiken zusammenfassen ließen.

Zahlungsanbieter auf dem synchronen Bestellpfad (9)Von vier Personen genannt. Verlangsamungen des Anbieters zur Spitzenzeit blockieren die Bestellaufgabe. Maßnahme: Entscheidungsdokument zur asynchronen Autorisierung mit einem Bestellstatus „ausstehend“; verantwortlich: Architekt; fällig in zwei Wochen
Restaurant-Benachrichtigungen werden nicht bestätigt (6)Nur vom Support-Engineer genannt, der jeden Freitag Beschwerden über verpasste Bestellungen sieht. Sonst wusste es niemand. Maßnahme: bestätigte Zustellung mit erneutem Senden und einem Alarm, wenn ein Tablet keine Bestätigungen mehr sendet; verantwortlich: Benachrichtigungsteam
Gemeinsame Gateway-Konfiguration (6)Eine fehlerhafte Routenänderung kann alle drei Apps gleichzeitig lahmlegen. Maßnahme: Gateway-Konfiguration pro App und Canary-Rollout von Gateway-Änderungen
Failover der Bestelldatenbank nie getestet (6)Ein Replikat existiert, aber die Hochstufung wurde nie geprobt. Maßnahme: vierteljährliche Failover-Übung, gemessen am Wiederherstellungsszenario
Kafka-Kenntnisse (von einer Person mit 9 bewertet, von den anderen mit 2)Der einzige Ingenieur, der Kafka schon betrieben hatte, erklärte Partition-Rebalancing während Deployments, Consumer-Lag und Fehler bei der Aufbewahrung. Nach der Diskussion einigte sich die Gruppe auf 4: real, aber beherrschbar. Maßnahme: verwalteter Kafka-Dienst und ein Runbook
Kurier-Standortverkehr über das Gateway (4)Etwa 2250 Updates pro Sekunde teilen sich das Gateway mit dem Bestellverkehr. Maßnahme: im nächsten Lasttest messen; separater Erfassungs-Endpoint, falls die Bestelllatenz leidet
Consumer-Lag der Disposition zur Spitzenzeit (4)Maßnahme: Alarm bei Consumer-Lag; eine Fitness Function in den Lasttest aufnehmen
Standortspeicher verliert beim Neustart Daten (2)Übereinstimmend kein Risiko: Positionen werden alle 4 Sekunden aktualisiert. Als solches festgehalten, mit der Annahme

Der wertvollste Befund (Restaurant-Benachrichtigungen) kam von der Person, die in einer offenen Diskussion am wenigsten wahrscheinlich als Erste gesprochen hätte; genau darum geht es bei der schweigenden, individuellen Identifikation.

Die Uneinigkeit über Kafka wurde durch Wissen gelöst, nicht durch Mittelung der Werte.

Jedes vereinbarte Risiko verließ den Raum mit einer verantwortlichen Person und einer Maßnahme; das Register wurde noch am selben Tag veröffentlicht.

Pre-Mortems

Risk-Storming betrachtet eine Struktur. Ein Pre-Mortem betrachtet einen Plan. Gary Klein beschrieb es im September 2007 in der Harvard Business Review. Eine Obduktion erklärt, warum ein Patient gestorben ist, was allen hilft außer dem Patienten; ein Pre-Mortem findet statt, bevor das Projekt beginnt, wenn die Antworten seinen Kurs noch ändern können.

Das Vorgehen ist kurz. Die Leitung erläutert der Gruppe den Plan oder die Entscheidung und verkündet dann, es sei jetzt einige Monate später und das Vorhaben sei gescheitert, und zwar gründlich. Alle schreiben einige Minuten lang unabhängig voneinander jeden Grund auf, der ihnen für das Scheitern einfällt. Dann geht die Leitung reihum und sammelt jeweils einen Grund, bis die Listen erschöpft sind, und die verantwortliche Person des Plans prüft sie auf Möglichkeiten, ihn zu stärken. Klein zitiert Forschung von Deborah Mitchell, Jay Russo und Nancy Pennington (1989), wonach die Vorstellung, ein Ereignis sei bereits eingetreten (prospektive Rückschau), die Fähigkeit, Gründe für künftige Ergebnisse zu erkennen, um etwa 30 % steigert. Die Rahmung verändert auch die soziale Dynamik: Die Frage ist nicht mehr, ob der Plan scheitern könnte, was illoyal klingt, sondern warum er gescheitert ist, was zur Kreativität einlädt.

In der Architektur sind Pre-Mortems besonders vor großen Festlegungen nützlich: bei der Einführung eines ereignisgesteuerten Stils, der Migration in eine neue Cloud, der Ablösung eines Altsystems (Abschnitt 11.6) oder der Einführung einer Plattform. Typische Ergebnisse, die ein diagrammbasiertes Review übersehen würde, sind ein Team ohne Erfahrung mit der neuen Technologie, eine Migration, die auf halbem Weg stecken bleibt und zwei Systeme zu betreiben hinterlässt, ein wichtiger Lieferant, der seine Preise ändert, und ein Geschäft, das die Geduld verliert, bevor sich Nutzen zeigt.

Architektur-Katas

Architektur-Katas wurden von Ted Neward, inspiriert von Dave Thomas’ Code-Katas, als Übungen für Architekten geschaffen. Eine Kata ist eine kurze Aufgabenstellung für ein fiktives System (einige Absätze zu Anforderungen, Nutzern und Randbedingungen, bewusst unvollständig). Kleine Teams von drei bis fünf Personen bearbeiten sie für eine feste Zeit, befragen eine Moderation, die den Kunden spielt, um fehlende Anforderungen aufzudecken, skizzieren dann eine Architektur und stellen sie den anderen Teams vor, die sie hart, aber fair hinterfragen, bevor der Raum abstimmt. Neal Ford pflegt eine öffentliche Sammlung von Katas, und O’Reilly hat Wettbewerbe mit Architektur-Katas veranstaltet.

Katas sind keine Reviews eines realen Entwurfs, tragen aber auf zwei Weisen zur Review-Kultur bei. Sie schulen die Fähigkeit, einen Entwurf unter Befragung zu erklären und zu verteidigen und gute Fragen zum Entwurf anderer zu stellen, genau das, was leichtgewichtige Reviews brauchen. Und eine interne Kata zu einem realen anstehenden Problem, bei der zwei oder drei Teams unabhängig entwerfen, ist ein günstiger Weg, den Lösungsraum vor einer Festlegung zu erkunden: Wenn drei Teams drei verschiedene Entwürfe liefern, zeigen die Unterschiede, wo die echten Abwägungen liegen.

TARA und checklistenbasierte Reviews

Reviews bestehender Systeme stehen vor einem anderen Problem: Die gebaute Architektur kann von der beschriebenen abweichen, und die Belege sind über Personen, Dokumente, Code und Produktionsdaten verstreut. Eoin Woods, Mitautor von Software Systems Architecture, beschrieb 2011 den Tiny Architectural Review Approach (TARA) als bewusst leichtgewichtige, praxistaugliche Alternative zu szenariolastigen Methoden. Eine kleine Zahl von Reviewern erhebt die wichtigsten Anforderungen und den Kontext des Systems, ermittelt seine tatsächliche Struktur, beurteilt seine Implementierung mit automatisierter Analyse (Modulabhängigkeiten, Größe, Code-Metriken, Testabdeckung) neben Laufzeitinformationen wie Logs, verknüpft das Gefundene mit Expertenurteil mit den Anforderungen und präsentiert Ergebnisse und Empfehlungen in einer vorab festgelegten Form. Seine Stärke sind Tempo und Belege; seine Schwäche, die Woods selbst einräumte, ist die Abhängigkeit von der Expertise der Reviewer.

Checklisten ergänzen jede Technik. Eine Checkliste findet allein keine Risiken, verhindert aber, dass ein Review eine ganze Kategorie vergisst (Wiederherstellung aus Backups, Secrets, Kosten im großen Maßstab), nur weil niemand im Raum zufällig daran gedacht hat. Halten Sie Checklisten kurz, zugeschnitten auf die Vorfallgeschichte Ihrer Organisation, und formulieren Sie sie als Fragen, die Belege verlangen statt Ja-oder-Nein-Antworten.

Designdokumente und RFC-Reviews

Abschnitt 4.8 hat Designdokumente und RFCs als Weg beschrieben, eine Änderung schriftlich vorzuschlagen, bevor sie gebaut wird. Sie gut zu reviewen ist eine eigene Fähigkeit. Ein schriftliches Review hat echte Vorteile gegenüber einer Besprechung: Reviewer kommentieren, wenn sie Zeit zum Nachdenken haben, Kolleginnen und Kollegen aus der Ferne und stillere Teammitglieder tragen gleichberechtigt bei, und die Kommentare werden zur Aufzeichnung. Typische Fehlschläge sind Dokumente, die niemand liest, Kommentar-Threads, die nie abgeschlossen werden, und Reviews, die zu einem inoffiziellen Gate werden.

Gute Praxis ist, oben die gesuchte Entscheidung und die Kommentarfrist zu nennen; die Reviewer zu benennen, deren Beitrag erforderlich ist (Sicherheit, Betrieb, die Verantwortlichen betroffener Services), und alle anderen einzuladen; die Reviewer zu bitten, jeden Kommentar als Frage, Vorschlag oder blockierenden Einwand zu kennzeichnen, damit der Autor weiß, welche gelöst werden müssen; gegen die Qualitätsszenarien und die Checkliste unten zu reviewen, nicht nach persönlichem Geschmack; nur für ungelöste Einwände eine kurze Besprechung anzusetzen; und die wesentlichen Entscheidungen als ADRs festzuhalten. In Organisationen mit Advice Process (Abschnitt 11.4) ist der RFC das Mittel, um Rat einzuholen, und die Entscheidung bleibt beim Autor.

Ein 90-minütiges Architektur-Review durchführen, Schritt für Schritt

  1. Vorher: vorbereiten (einige Tage im Voraus)Der Architekt verteilt eine einseitige Zusammenfassung, das Kontext- und das Containerdiagramm, die drei bis fünf wichtigsten Qualitätsszenarien mit Zahlen und die offenen Fragen. Laden Sie fünf bis acht Personen ein: das Team, Betrieb, Sicherheit, jemanden aus jedem Nachbarteam und eine erfahrene Person von außen. Wählen Sie eine Moderation, die nicht der Architekt ist.
  2. 0 bis 10 Minuten: Ziele und RegelnDie Moderation nennt den Zweck (Risiken finden, nicht genehmigen oder ablehnen), den Zeitrahmen und das Ergebnis. Eine Vertretung des Geschäfts oder der Product Owner fasst in zwei Minuten die geschäftlichen Treiber zusammen.
  3. 10 bis 25 Minuten: die Architektur anhand von Szenarien durchgehenDer Architekt spielt zwei oder drei der wichtigsten Szenarien anhand der Diagramme durch, etwa eine Bestellung zur Spitzenzeit und einen Ausfall des Zahlungsanbieters. Nur Verständnisfragen.
  4. 25 bis 35 Minuten: schweigende RisikoidentifikationAlle schreiben Risiken auf Notizen, eines pro Notiz, mit Wahrscheinlichkeit und Auswirkung. Keine Diskussion.
  5. 35 bis 50 Minuten: zusammenführen und gruppierenDie Notizen kommen auf die Diagramme. Die Moderation fasst Duplikate laut zusammen und hebt Häufungen, einzelne Notizen und unterschiedliche Prioritäten hervor.
  6. 50 bis 75 Minuten: die wichtigsten Risiken besprechenBeginnen Sie mit den am höchsten bewerteten Häufungen. Klären Sie für jede, was das Risiko wirklich ist, wie es bewertet wird und ob es ein Risiko, ein Nicht-Risiko mit Annahme oder eine Frage ist, die einen Spike erfordert.
  7. 75 bis 85 Minuten: Maßnahmen und VerantwortlicheJedes vereinbarte hohe oder mittlere Risiko erhält eine Gegenmaßnahme, eine verantwortliche Person und einen Termin. Entscheidungen, die als ADRs festgehalten werden sollen, werden aufgelistet.
  8. 85 bis 90 Minuten: AbschlussLesen Sie die Risiken, die akzeptierten Risiken und die Nicht-Risiken mit ihren Annahmen vor. Vereinbaren Sie, wann der Entwurf erneut betrachtet wird.
  9. Danach: innerhalb von zwei Tagen veröffentlichenVeröffentlichen Sie das Risikoregister, Fotos der kommentierten Diagramme und die Maßnahmenliste dort, wo das Team seine Architekturdokumentation führt, und verfolgen Sie die Maßnahmen im normalen Backlog.

Entscheidungshilfe

Entscheidungshilfe: welche Art von Review?

Beginnen Sie oben; Techniken lassen sich kombinieren.

  1. Steht eine teure, schwer umkehrbare Festlegung bevor, etwa ein mehrjähriger Vertrag, ein Plattformkauf oder eine Finanzierungsentscheidung, mit vielen Stakeholdern?
    JaNutzen Sie eine ATAM oder eine reduzierte ATAM mit unabhängigen Bewertern (Abschnitt 11.1) und ergänzen Sie ein Pre-Mortem zum Plan.
    NeinWeiter.
  2. Gibt es einen schriftlichen Vorschlag für eine wesentliche Änderung?
    JaFühren Sie ein schriftliches Design- oder RFC-Review mit Kommentarfrist durch, dann eine kurze Besprechung für blockierende Einwände.
    NeinWeiter.
  3. Gibt es Diagramme der geplanten oder bestehenden Architektur?
    JaFühren Sie darauf ein Risk-Storming im 90-Minuten-Format durch.
    NeinZeichnen Sie zuerst ein Kontext- und ein Containerdiagramm; schon das Zeichnen legt oft Risiken offen.
  4. Ist die Hauptsorge eher der Erfolg des gesamten Vorhabens (Fähigkeiten, Zeitplan, Migration, Akzeptanz) als die Struktur?
    JaErgänzen Sie ein Pre-Mortem.
    NeinWeiter.
  5. Läuft das System bereits, mit vermuteter Drift oder wachsenden Schulden?
    JaNutzen Sie ein Review im Stil von TARA, das Interviews mit automatisierter Code- und Laufzeitanalyse verbindet, und machen Sie aus den Ergebnissen Fitness Functions.
    NeinVerlassen Sie sich zwischen den Reviews auf Fitness Functions und reviewen Sie erneut bei der nächsten wesentlichen Entscheidung.

Checkliste: Fragen für jedes leichtgewichtige Architektur-Review

Verlangen Sie Belege, keine Beruhigung. Passen Sie die Liste an die Vorfallgeschichte Ihrer Organisation an.

  • Welche drei bis fünf Qualitätsszenarien sind am wichtigsten, und wie lauten ihre Zahlen?Ohne messbare Treiber kann das Review Risiken nicht gewichten (Abschnitt 2.3).
  • Was liegt auf dem synchronen Pfad der wichtigsten User Journey?Zählen Sie die Hops, listen Sie Timeouts und Wiederholungen auf und identifizieren Sie jeden Drittanbieter auf dem Pfad.
  • Was passiert, wenn eine Abhängigkeit langsam ist oder ausfällt?Langsam ist meist schlimmer als ausgefallen; fragen Sie nach beidem und danach, wie Nutzer informiert werden.
  • Wem gehören die wichtigen Daten, und wurde eine Wiederherstellung getestet?Ein einziger Schreiber, Erwartungen an die Konsistenz, Aufbewahrung und Nachweis einer kürzlich erfolgreichen Wiederherstellung (Kapitel 7).
  • Wo liegen die Vertrauensgrenzen, Identitäten und Secrets?Achten Sie auf ein aktuelles Bedrohungsmodell und auf Secrets in Code oder Konfiguration (Kapitel 8).
  • Was bricht zuerst beim Doppelten der erwarteten Spitzenlast?Verlangen Sie das Kapazitätsmodell oder Lasttestergebnisse, nicht Intuition.
  • Wie wird das System beobachtet, deployt und zurückgerollt?Dashboards, an SLOs gekoppelte Alarme, Deployment-Strategie und die Dauer eines Rollbacks.
  • Was wird sich im nächsten Jahr wahrscheinlich ändern, und was würde diese Änderung berühren?Prüfen Sie, dass wahrscheinliche Änderungen innerhalb eines Moduls oder Service bleiben.
  • Was wird der Betrieb beim erwarteten Volumen kosten?Kosten pro Bestellung, pro Nutzer oder pro Transaktion, mit den wichtigsten Kostentreibern.
  • Sind die wesentlichen Entscheidungen mit Alternativen und Konsequenzen festgehalten?ADRs oder ein Designdokument, einschließlich der akzeptierten Abwägungen.
  • Passt die Teamstruktur zum Entwurf?Jeder Teil hat ein verantwortliches Team mit den Fähigkeiten, ihn zu betreiben (Abschnitt 3.7 und Abschnitt 11.5).

Prüfen Sie Ihr Verständnis

Warum verlangt Risk-Storming, Risiken schweigend zu identifizieren, bevor diskutiert wird?

Damit die erste oder ranghöchste Stimme die Gruppe nicht verankert und das unabhängige Wissen jeder Person auf das Diagramm gelangt.

Welchen zwei Arten von Notizen gebührt beim Risk-Storming im Besprechungsschritt besondere Aufmerksamkeit?

Risiken, die nur eine Person genannt hat, die vielleicht etwas weiß, was andere nicht wissen, und Risiken mit sehr unterschiedlichen Prioritäten, die auf ein Missverständnis hindeuten.

Was untersucht ein Pre-Mortem, das eine Risk-Storming-Sitzung an einem Containerdiagramm meist nicht untersucht?

Den Plan und seinen Kontext als Ganzes: Fähigkeiten, Zeitplan, Migration, Lieferanten und die Geduld der Organisation statt der technischen Struktur.

Nennen Sie zwei strukturelle Gründe, warum monatliche Architektur-Review-Gremien oft scheitern.

Zwei beliebige von: Sie sehen Entwürfe zu spät, Reviewern fehlt der Kontext, Teams präsentieren defensiv, und die Warteschlange fügt Wochen Verzögerung hinzu, die zum Umgehen verleiten.

Weiter · 11.3Fitness FunctionsWie Sie Architekturmerkmale mit automatisierten Prüfungen schützen: was Fitness Functions sind, ihre Kategorien, Beispiele für Struktur, Performance, Sicherheit, Resilienz und Daten sowie evolutionäre Architektur.Weiter →

Quellen und weiterführende Literatur

Haben Sie eine Frage zu diesem Abschnitt? ArchitectBot, der KI-Lernassistent des Kurses, antwortet zuerst aus dem Kurs.

Fragen: „Unser Architecture Review Board tagt einmal im Monat, und die Teams versuchen, es zu umgehen. Wie könnten wir es durch leichtgewichtige Reviews ersetzen, ohne die unabhängige Hinterfragung zu verlieren?“