Framework zum Erfassen von Architekturentscheidungen als Teil der Codebasis. Exemplarisch Analyse und Auswertung der erfassten Entscheidungen.


Das Dokumentieren und Erfassen von Architekturentscheidungen ist ein Teilbereich des Softwarearchitekturwissensmanagements. In den letzten Jahren wurden eine Vielzahl von Ansätzen und Werkezugen entwickelt, um Architekturentscheidungen zu dokumentieren. Dazu gehören webbasierte Anwendungen, IDE-Plugins oder pragmatische Ansätze zur Dokumentation von Entscheidungen in einem standardisierten Format in Markdown-Files, die im Git-Repository mit der Codebasis abgelegt werden.

Gerade in den letzten Jahren ist ein Trend zu pragmatischen Ansätzen (Ablage in Git-Repositories, Wikis) zu erkennen, da zusätzliche Werkzeuge für diesen Aspekt der Dokumentation in der Praxis typischerweise nicht angenommen werden. Ein weiteres Problem aller bisherigen Ansätze ist es, die erfasste Dokumentation aktuell zu halten.

In dieser Arbeit soll ein Framework entwickelt werden, mit dem Architekturentscheidungen einfach erfasst und nachträglich analysiert werden können (Art der Entscheidung, Zeitpunkt, betroffene Systemkomponenten, Alternativen, Aktualität, etc.). Dazu soll vor allem auf in der Praxis bereits eingesetzte Standardwerkzeuge für Ablage und Analyse (z.B. ElasticSearch/Kibana, Git, etc.) und eine enge Integration mit der Codebasis geachtet werden, damit Entscheidungen mit der Codebasis mitgepflegt werden. Denkbar ist hier ein Ansatz ähnlich wie das Micrometer-Framework (micrometer.io) nur eben zum Logging von Design und Architekturentscheidungen statt wie bei Micrometer zum Logging von Metriken.

Kontakt: Rainer Weinreich

 

Framework für Softwarearchitekturentscheidungen