Wer liest die Dokumentation? Wofür wird die Dokumentation verwendet? Dies sind die wichtigsten zu beantwortenden Fragen. Beispielsweise würde sich die Dokumentation für Wartungsentwickler mehr auf die Struktur konzentrieren, während sich die Dokumentation für Entwickler, die in das Produkt integriert sind, mehr auf Webdienste und die Datenbankstruktur konzentrieren würde.
Machen Sie im Allgemeinen so viel Dokumentation wie erforderlich und nicht mehr. Viele Organisationen benötigen Dokumentation, weil jemand darauf bestand, dass dies eine bewährte Methode ist, aber die Dokumentation verstaubt.
Angenommen, die Benutzer verwenden die Dokumentation tatsächlich, versuchen Sie nicht, den Code und die Datenbank auf der kleinsten Ebene zu erfassen. Entwickler werden sich den Code für Minutien ansehen. Konzentrieren Sie sich stattdessen auf Details, die im Code nicht ersichtlich sind , z. B.:
- Die Anwendungsfälle, denen das Produkt entspricht. Dies kann angesichts des Alters des Produkts schwierig sein, aber die Erfassung der Funktionen des Produkts bietet nicht-technischen Lesern und Testern einen wichtigen Kontext. Wer sind die Wettbewerber auf dem Markt (falls vorhanden)? Gibt es etwas, das vom Produktumfang ausgeschlossen ist?
- Alle eindeutigen nicht funktionalen Anforderungen . Wurde das Produkt beispielsweise für ein bestimmtes Volumen geschrieben? Wie alt können die Daten sein? Wo wird Caching verwendet? Wie werden Benutzer authentifiziert? Wie funktioniert die Zugangskontrolle?
- Ein Kontextdiagramm, das die Interaktion mit anderen Systemen wie Datenbank, Authentifizierungsquellen, Sicherung, Überwachung usw. zeigt.
- (Falls bekannt) Risiken und wie sie zusammen mit einem Entscheidungsregister gemindert wurden . Dies ist im Nachhinein wahrscheinlich schwierig, aber es gibt oft kritische Entscheidungen, die ein Design beeinflussen. Erfassen Sie alles, was Sie kennen.
- Gemeinsame Entwurfsmuster oder Entwurfsrichtlinien . Gibt es beispielsweise eine Standardmethode für den Zugriff auf die Datenbank? Gibt es einen Kodierungs- oder Namensstandard?
- Kritische Codepfade , normalerweise unter Verwendung von Flussdiagrammen oder UML-Aktivitäts- oder Sequenzdiagrammen. Es gibt möglicherweise keine im Projekt, aber dies sind normalerweise diejenigen, die Geschäftsbenutzer artikuliert haben.
Auch wenn nicht alle diese Informationen verfügbar sind, starten Sie jetzt . Die Entwickler, die nach Ihnen kommen, werden es Ihnen danken.
Gute automatisierte Komponententests oder Testfälle können ebenfalls eine nützliche Dokumentation sein, obwohl sie für weniger technische Personen schwer zugänglich sind.
Es hört sich auch so an, als müssten Sie eine kulturelle Veränderung vornehmen , um Dokumentation aufzunehmen . Fangen Sie klein an, aber im Idealfall sollte das Projekt erst dann "abgeschlossen" werden, wenn mindestens ein Mindestmaß an Dokumentation vorhanden ist. Dies ist wahrscheinlich der schwierigste Schritt, da Sie die oben genannten Dinge steuern können. Darauf müssen sich andere einlassen. Es kann jedoch auch am lohnendsten sein, insbesondere wenn das nächste Projekt, das Sie durchführen, eine gute Dokumentation enthält.