Programm
Codebasis von heute, Dokumentation von gestern? Zeit für „Continuous Software Visualization“
Je mehr die Codebasis wächst, umso größer wird die Gefahr, dass die Architektur erodiert und die Dokumentation veraltet. „Continuous Software Visualization“ unterstützt Entwicklerinnen, die Softwarearchitektur kontinuierlich im Blick zu behalten und fördert eine hohe Softwarequalität. Inkonsistenz wird verhindert, indem sich Code-Basis und Dokumentation bidirektional abgleichen.
In der Praxis unterstützen noch nicht viele Tools kontinuierliche Softwarevisualisierung. Gebräuchliche UML-Tools sind nur unidirektional und führen ohne aufwändige Aktualisierung zu einer veralteten Dokumentation. Bei Low-Code-Tools ist es nicht möglich, präzisen Code zu schreiben.
Deshalb stellen wir als Umsetzungsbeispiel die MammutMap vor, ein leichtgewichtiges Open-Source-Tool für kontinuierliche Softwarevisualisierung. Ähnlich wie bei einer webbasierten Karte können die Entwicklerinnen in der vernetzten Codebasis navigieren sowie beliebig tief hinein- und hinauszoomen.
Die Visualisierung macht das mentale Modell hinter der Architektur sichtbar und die Entwicklerinnen können es leichtgewichtig über Git im Team teilen. Somit trägt kontinuierliche Softwarevisualisierung nicht nur dazu bei, eine Erosion der Architektur und Inkonsistenz der Dokumentation zu verhindern, sie fördert mit dem gemeinsamen Verständnis auch die Zusammenarbeit des Teams.
Michael Speitelsbach
andrena objectsMichael hat Informatik am KIT studiert und ist seit 2017 bei andrena objects als Agile Software Engineer tätig. In dieser Zeit konnte er viele Einblicke in Softwareprojekte gewinnen und interessiert sich insbesondere dafür interne Softwarestruktur kommunizierbar zu machen.
Dr. Anja Kleebaum
andrena objectsAnja hat am Lehrstuhl für Software-Engineering an der Universität Heidelberg promoviert und war als wissenschaftliche Mitarbeiterin in der Software-Engineering-Lehre tätig. In ihrer Dissertation hat sie Methoden und Tools für leichtgewichtiges Entscheidungsmanagement (Rationale Management) und Traceability-Visualisierung während agiler Softwareentwicklung entworfen. Seit 2023 ist sie als Agile Software Engineer bei andrena objects tätig.