Zum Inhalt springen

Glossar · A

Architecture Decision Record

Ein dokumentiertes Format zur Festhaltung von Architekturentscheidungen in Softwareprojekten, das Kontext, Optionen, Begründung und Konsequenzen umfasst.

Definition

Ein Architecture Decision Record (ADR) ist ein dokumentiertes Format zur systematischen Festhaltung von Architekturentscheidungen in Softwareprojekten. Es dient dazu, wichtige Entscheidungen bezüglich der Softwarearchitektur nachvollziehbar und dauerhaft zu dokumentieren. Dabei umfasst ein ADR typischerweise den Kontext der Entscheidung, die in Betracht gezogenen Optionen, die getroffene Wahl sowie deren Begründung und die daraus resultierenden Konsequenzen.

Das Ziel eines ADR ist es, die Entscheidungsprozesse transparent zu machen und das Wissen über die Architekturentscheidungen zu bewahren. Dies erleichtert die Kommunikation im Entwicklungsteam, unterstützt die Wartbarkeit der Software und hilft neuen Teammitgliedern, die Architektur nachvollziehen zu können. ADRs sind meist kurze, prägnante Dokumente, die in einem einheitlichen Format verfasst werden.

Was bedeutet das für Ihr Unternehmen?

Jahre nach einem Projekt weiß oft niemand mehr, warum eine bestimmte Datenbank, ein Hoster oder ein Framework gewählt wurde, und genau dann wird ein Wechsel des Dienstleisters teuer. Kurze Entscheidungsnotizen im Projekt beantworten diese Frage in wenigen Minuten und verhindern, dass bewährte Entscheidungen aus Unwissen rückgängig gemacht werden. Bestehen Sie darauf, dass solche Notizen im Repository Ihres Projekts liegen und bei einer Übergabe mitgeliefert werden.

Hintergrund und Entstehung

Die Praxis der Architecture Decision Records hat ihren Ursprung in der agilen Softwareentwicklung, wo Flexibilität und kontinuierliche Anpassung der Architektur wichtig sind. Der Begriff und das Konzept wurden maßgeblich von Michael Nygard geprägt, der 2011 in seinem Blogbeitrag „Documenting Architecture Decisions“ die Methode vorstellte. Seitdem hat sich ADR als eine bewährte Technik etabliert, um architekturrelevante Entscheidungen zu dokumentieren.

Die Verwendung von ADRs ist eine Reaktion auf die Herausforderungen, die durch fehlende oder unvollständige Dokumentation in Softwareprojekten entstehen. Traditionelle Architekturdokumentationen sind oft umfangreich und schwer aktuell zu halten. ADRs bieten hier eine schlanke Alternative, indem sie einzelne Entscheidungen fokussiert und zeitnah dokumentieren. Dies entspricht dem Prinzip der kontinuierlichen Dokumentation, das in agilen Prozessen bevorzugt wird.

Aufbau und Inhalt

Ein typischer Architecture Decision Record besteht aus mehreren standardisierten Abschnitten. Dazu gehören eine eindeutige Identifikation oder Nummer, ein Titel, der die Entscheidung beschreibt, sowie eine Beschreibung des Kontextes, in dem die Entscheidung getroffen wurde. Weiterhin werden die möglichen Alternativen oder Optionen aufgeführt, die vor der Entscheidung abgewogen wurden.

Ein weiterer wichtiger Bestandteil ist die Begründung, warum eine bestimmte Option gewählt wurde, sowie die Konsequenzen dieser Entscheidung, etwa Auswirkungen auf die Architektur, das Team oder zukünftige Entwicklungen. Manche ADRs enthalten zudem Informationen zum Status der Entscheidung, beispielsweise ob sie noch gültig, überholt oder verworfen ist. Dieses strukturierte Format erleichtert das schnelle Verständnis und die Nachvollziehbarkeit der Entscheidungen.

Einsatzgebiete und Nutzen

Architecture Decision Records werden vor allem in Softwareentwicklungsprojekten eingesetzt, die eine komplexe oder sich wandelnde Architektur besitzen. Sie unterstützen Architekten und Entwickler dabei, rationale Entscheidungen zu treffen und diese im Projektteam zu kommunizieren. Besonders in verteilten Teams oder bei langfristigen Projekten helfen ADRs, Wissen zu bewahren und Missverständnisse zu vermeiden.

Darüber hinaus dienen ADRs als Referenz bei der Wartung und Weiterentwicklung von Software. Wenn sich Anforderungen ändern oder neue Technologien eingeführt werden, können frühere Entscheidungen überprüft und gegebenenfalls angepasst werden. Somit tragen ADRs zur Qualitätssicherung und zur Dokumentation der Architekturgeschichte bei.

Abgrenzung zu verwandten Konzepten

Im Vergleich zu umfassenden Architekturdokumentationen, wie sie in klassischen Software-Engineering-Methoden üblich sind, sind ADRs deutlich fokussierter und leichter zu pflegen. Während Architekturdokumente oft ganze Systeme beschreiben, konzentrieren sich ADRs auf einzelne Entscheidungen und deren Begründung. Dies macht sie agiler und besser geeignet für iterative Entwicklungsprozesse.

Verwandte Konzepte sind beispielsweise Design Decisions oder technische Spezifikationen, die sich ebenfalls mit Entscheidungen im Entwicklungsprozess befassen. Der Unterschied liegt darin, dass ADRs speziell auf Architekturentscheidungen abzielen und ein standardisiertes Format nutzen. Zudem sind ADRs oft Teil eines Versionskontrollsystems, was ihre Nachverfolgbarkeit verbessert.

Verwandte Begriffe

Aus dem Blog

Passende Leistung

Sie möchten wissen, was das für Ihr Projekt bedeutet? Sprechen Sie uns an.

Zur Leistung: Analysen