Software-Dokumentation automatisch erstellen

Programmcode in kurzer Zeit gut dokumentiert

Dokumentation ist ein wesentlicher Bestandteil jeder nachhaltigen Datenarchitektur. Entwickler-Teams vernachlässigen das oft aus praktischen Gründen, denn sie stehen unter enormen Termindruck und werden eher nach dem Code beurteilt, als danach, wie gut sie ihn dokumentieren.

Bild: ©Andrey Popov/stock.adobe.com
Bild: ©Andrey Popov/stock.adobe.com

Pseudo-agile Strategien sind heute im Data Warehousing üblich. Oft arbeiten Teams in Sprints mit Scrum-Meetings und ähnlichem. Allerdings tippen die meisten Entwickler immer noch jede Codezeile von Hand und arbeiten mit ETL-Technologie aus den 90er Jahren. Während die Fristen und Iterationen, die sie einhalten müssen, auf agile Zeitrahmen ausgerichtet sind, sind die Werkzeuge und Methoden, die sie verwenden, nicht agil. Nur selten wird bei der Definition von Sprints ausreichend auf die Dokumentation geachtet. Unter diesen Einschränkungen stehen die Entwickler immer unter Zeitdruck und müssen Abkürzungen nehmen, um ihren Code abzuliefern. Die Dokumentation ist dabei in der Regel das erste, was vernachlässigt oder ganz fallen gelassen wird.

Produktivität schädigt Nachhaltigkeit

Die Notwendigkeit, die Dokumentation zu schreiben, hemmt die Produktivität in mehrfacher Hinsicht. Wenn Entwickler regelmäßig Pausen machen, um zu dokumentieren, was sie getan haben, müssen sie ihren Arbeitsfluss unterbrechen und schreiben weniger Code. Schieben sie die Dokumentation auf, um beispielsweise am Montag den Code der letzten Woche zu dokumentieren, führt dies dazu, dass sie eine Menge von dem, was sie getan haben, vergessen. Und je produktiver Entwickler waren, desto mehr haben sie zu vergessen.

Der Wert der Dokumentation

In einer Arbeitskultur, in der es nur darum geht, Code pünktlich zum nächsten Abgabetermin zu liefern, wird die Dokumentation als ein Nice-to-have angesehen und vielleicht nicht einmal von den Verantwortlichen für Data Governance geprüft. Erst im Nachhinein, wenn die Architekturen Unsauberkeiten aufweisen und schwer zu warten sind, oder wenn einer der Entwickler das Unternehmen verlässt und eine neue Fachkraft kommt, um ihn zu ersetzen, zeigt sich der Wert einer genauen, standardisierten Dokumentation.

Code langfristig nutzbar

Heutige Data Automation-Tools können effektiv beim Wechsel der Zieldatenbank helfen. Nach der Wahl einer Datenbank sind Unternehmen nicht mehr praktisch für zehn Jahre gebunden. Das bedeutet auch, dass Entwickler nicht mehr komplett neu anfangen müssen, wenn der Modellierungsstil gewechselt werden soll. Der Code, den Entwickler jetzt schreiben, kann je nach Bedarf angepasst werden und über viele Jahre hinweg Bestand haben. Aus diesem Grund muss er zuverlässig sein, um den Test der Zeit zu bestehen, was auch für die Art und Weise gilt, wie er dokumentiert wird. Architekturen müssen Personen und Datenbanken überdauern. Wenn also ein Entwickler aus dem Unternehmen ausscheidet, sollte der Code nahtlos an einen Kollegen weitergegeben werden können.

Automatisierte Dokumentation

Mit Data-Automation-Software lässt sich die Dokumentation von Code fast komplett aus dem Zeitplan von Entwicklern lösen. Sie müssen lediglich auf eine Schaltfläche klicken und ihre Arbeit wird detailliert dokumentiert. Das kann stundenlange Arbeit ersparen. Die Anwendungen orientieren sich dabei an Metadaten. Die Benutzeroberfläche ist eine vereinfachte Manifestation aller Metadaten, die sich dahinter befinden und dafür sorgen, dass das Data Warehouse so funktioniert, wie es dargestellt wird. Diese Out-of-the-Box-Dokumentationsfunktion bedeutet, dass jede Aktion von Benutzern sowie jedes Element und jede Struktur innerhalb der Architektur gespeichert wird, wie zum Beispiel:

  • Der Code selbst
  • Listen von Spalten und Objekten, wer sie erstellt hat, ob sie in bestimmten Jobs enthalten sind und so weiter
  • Transformationen
  • Datenherkunft (Data-Lineage) rückwärts und vorwärts: Woher kamen die Daten und wohin gingen sie nach diesem Punkt?
  • Datentypen und alle Informationen über das aktuelle Objekt, das gerade betrachtet wird
  • Interaktionen zwischen den verschiedenen Objekten innerhalb der Architektur

Code verstehen und Fehler beheben

Die Dokumentation durch Data-Automation-Software ähnelt einer Roadmap, die durch das Projekt reicht und Hyperlinks zu jeder seiner Phasen bereitstellt, sodass Entwickler hineinklicken und den Code und die Struktur sehen können. Um zu solchen Ergebnissen zu gelangen, müssten Entwickler eine detaillierte Tabelle und anschließend Flussdiagramme mit einem Tool wie Visio erstellen. Dies für eine gesamte Architektur zu tun, würde ohne eine Automatisierungslösung mitunter Monate dauern. Diese Dokumentation hilft, Fehler schnell zu finden und zu beheben. Dazu kann die Automatisierungslösung fehlerhaften Code in Rot hervorheben. Das kann zudem verhindern, dass fälschlicherweise als fehlerhaft diagnostizierter Code bearbeitet wird.

Redundante und banale Aufgaben entfallen

Bei der Diskussion über Datenautomatisierung ist es wichtig, im Blick zu behalten, dass die menschliche Kreativität immer noch an erster Stelle steht. Sie wird durch Automatisierungstools ergänzt, die sich wiederholende, manuelle Arbeiten beseitigen und es den Entwicklern ermöglicht, weniger zu ermüden und damit kreativer zu sein. In vielen Bereichen des Data Warehousing sind Kreativität und Fingerspitzengefühl jedoch unerwünscht und sogar schädlich. Die Dokumentation ist genau die Art von banaler, sich redundanter Arbeit, die sich für die Automatisierung ideal eignet.