Architecture Decision Record

Active theme: Light

← dokumente

Wer kann einen ADR erstellen?

Berücksichtigen Sie Bereiche wie bestimmte Personen, bestimmte Rollen, bestimmte Teams oder bestimmte Abteilungen; erwägen Sie auch, ob es Personen, Rollen, Teams oder Abteilungen gibt, die einen ADR in Auftrag geben können, das heißt, einen anfordern, den jemand anderes verfasst.

Beispielantwort: Jede Person in unserer Organisation, die die README-Seite zu Architecture Decision Records gelesen hat, kann einen ADR vorschlagen, das heißt, die Person kann anfangen, ihn zu schreiben, und ihn mit dem Team teilen.

Was rechtfertigt es, einen ADR anzulegen?

Berücksichtigen Sie Bereiche wie die Arbeitsweisen Ihres Organisationsteams, die Struktur Ihres Softwaresystems, teamübergreifende Koordination, langfristige Wartbarkeit, externe Schnittstellen, wem Sie nutzen möchten, und Ähnliches.

Beispielantwort: Wir möchten einen ADR erstellen, wenn künftige Entwickler das „Warum“ dessen verstehen sollen, was wir tun.

Was rechtfertigt es, keinen ADR anzulegen?

Berücksichtigen Sie Bereiche wie Entscheidungen, die nicht die Architektur betreffen, oder winzig sind, etwa mit minimalem Risiko, in sich abgeschlossen oder für einen einzelnen Entwickler, oder bereits anderswo vollständig abgedeckt sind, etwa durch Standards, Richtlinien oder Dokumentation, oder vorübergehend sind, etwa Behelfslösungen, Machbarkeitsnachweise oder Experimente.

Beispielantwort: Wir möchten einen ADR überspringen, wenn eine Entscheidung in Umfang, Zeit, Risiko und Kosten begrenzt ist oder bereits anderswo abgedeckt wird.

Was ist der Lebenszyklus eines ADRs?

Berücksichtigen Sie Bereiche wie Erstellungsprozess, Recherche-Prozess, Entscheidungsprozess, Umsetzungsprozess und Außerbetriebnahmeprozess. Überlegen Sie, wie der ADR-Lebenszyklus im Zeitverlauf verfolgt wird, etwa wie der ADR von einem Zustand in den nächsten überführt wird, und auch wie dies den Stakeholdern mitgeteilt wird.

Beispielantwort: Wir möchten, dass ein ADR fünf Lebenszyklusphasen hat: Initiieren (Initiating) → Recherchieren (Researching) → Bewerten (Evaluating) → Umsetzen (Implementing) → Pflegen (Maintaining) → Auslaufen lassen (Sunsetting).

Was sind die Kriterien für die Lebenszyklusschritte eines ADRs?

Berücksichtigen Sie Bereiche wie Akzeptanzkriterien für einen ADR, das heißt, woran erkennen Sie, dass er gut genug ist, um vom einen Lebenszyklusschritt zum nächsten zu gelangen? Ist das Problem klar formuliert? Wurden die Alternativen erwogen? Sind die Kompromisse gut genug verstanden und dokumentiert? Ist der gesamte relevante Kontext vorhanden? Sind alle relevanten Stakeholder eingebunden? Wurde alles Feedback eingearbeitet?

Beispielantwort: Wir möchten, dass über einen ADR von den Stakeholdern abgestimmt wird, wenn das aktive Team 1) seine Recherche abgeschlossen hat, 2) seine Bewertung abgeschlossen hat, 3) den ADR-Vorschlag den Stakeholdern mit einer Bitte um Kommentare und einer Frist von einer Woche veröffentlicht hat, 4) alle Kommentare der Stakeholder eingearbeitet und behandelt wurden.

Welche Rollen und Verantwortlichkeiten stehen im Zusammenhang mit einem ADR?

Berücksichtigen Sie Rollen wie Vorschlagender, Recherchierender, Bewertender, Prüfer, Genehmiger, Pfleger und Ähnliches. Berücksichtigen Sie Verantwortlichkeiten wie Kommunikation mit Stakeholdern, sicherstellen, dass Erwartungen erfüllt werden, Teilen auf der Website oder im Intranet und regelmäßige Überprüfung der Arbeit, insbesondere wenn relevante Änderungen eintreten.

Beispielantwort: Wir möchten, dass jeder ADR stets eine primäre Kontaktperson, eine sekundäre Kontaktperson und ein verantwortliches Team hat; diese sind verantwortlich für Kommunikation, Veröffentlichungen, Pflege, regelmäßige Überprüfung mindestens einmal pro Jahr und das schließliche Auslaufenlassen bei Bedarf.

Wie steht die Governance im Zusammenhang mit einem ADR?

Berücksichtigen Sie Bereiche wie die Arbeitsweisen Ihrer Organisation, besondere Compliance-Anforderungen, etwa in rechtlicher oder personalbezogener Hinsicht, und wie Sie Konsens im Vergleich zu Konflikt im Vergleich zu Eskalation handhaben möchten. Gibt es Bereiche oder Personen oder Teams, die bei einem ADR mehr Einfluss haben können als andere, etwa indem sie ihn genehmigen, darüber abstimmen oder ein Veto einlegen können?

Beispielantwort: Die Governance eines ADRs folgt dieser Prioritätsreihenfolge: der CEO, der CTO, der CLO, das Team, das einen ADR umsetzt, die Experten im Team, die mit dem ADD am besten vertraut sind. Niemand sonst hat Governance, es sei denn, dies ist im ADR beschrieben.

Welche Prinzipien stehen im Zusammenhang mit einem ADR?

Berücksichtigen Sie Bereiche wie die Arbeitsweisen Ihrer Organisation, die schnelles Vorgehen im Vergleich zu langsamem Vorgehen, Entscheidungskonsens im Vergleich zu Entscheidungskonflikt, Risikopräferenzen im Vergleich zu Sicherheitspräferenzen, öffentliche Diskussion im Vergleich zu privater Diskussion und Ähnliches umfassen.

Beispielantwort: Wir verwenden die Führungsprinzipien Handlungsorientierung (bias for action), Widerspruch und Bekenntnis (disagree-and-commit), 70-%-Schätzungen sind gut genug für leicht umkehrbare und leicht isolierbare Entscheidungen, und öffentliche Arbeitsweisen mit Ausnahme vertraulicher Informationen, wie in der Vertraulichkeitsvereinbarung unserer Organisation beschrieben.