[linux-l] Dokumentenspeicher

Volker Grabsch vog at notjusthosting.com
Mi Okt 4 02:15:35 CEST 2006


On Wed, Oct 04, 2006 at 01:01:20AM +0200, Norman Steinbach wrote:
> Volker Grabsch wrote:
> >Naja, ich würde *dringend* zu einem anderen Vokabular raten.
> >Die Begriffe (Substantive, Verben, etc.) sollten *immer* aus der
> >Ziel-Domäne stammen. 
> 
> Das Problem ist, dass die Produzenten von Software *entweder* 
> Programmierer sind und deshalb auch nur (oder aus Bequemlichkeit) in 
> ihren Begriffen denken, *oder* Firmen/Konzerne,

In Firmen arbeiten auch Programmierer. Und was heißt hier "ihre"
Begriffe. Ein Programmierer programmiert für einen oder mehrere
Benutzer, zu denen er vielleicht selbst gehört.

> in denen dann die 
> Dokumentation meist von Marketing-Abteilungen vorgenommen wird - und das 
> schlägt dann meist ins Gegenteil um und ist deshalb genauso unverständlich.

Nein, Dokumentation ist definitiv nicht Aufgabe der Marketing-
Abteilung. Mag sein, dass es bei Firmen in die Richtung ausartet,
wenn sie Software als Massenprodukt vertreibt.

Ich gehe hier aber vom üblicheren Fall aus, dass Software für
einen bestimmten (nur allzu großen) Anwenderkreis entwickelt
wird.


Es gibt gaaaanz einfache Grundlagen bei der Software-Entwicklung.

Eine davon ist, dass eine Kommunikation zwischen Programmierer und
Benutzer funktionieren muss. Der Benutzer ist i.d.R. in einem
bestimmten Gebiet der Experte (die "Anwendungs-Domäne" der
einzusetzenden Software), und der Programmierer ist Experte auf
einem anderen Gebiet, nämlich der Informatik / Software-Entwicklung.

Der Programmierer hat sich in die Begrifflichkeiten, Arbeitsabläufe,
etc. der Anwendungs-Domäne einzuarbeiten. Aber niemand kann von ihm
erwarten, dass er alles bis ins letzte Detail durchschaut. Deshalb
ist es normal, dass Missverständnisse auftreten, und dass es viele
Rückfragen gibt.

Kommt ein Auftrag zustande, muss man sich darauf einzigen, was
die Software nun zu leisten hat und was nicht. Dies muss ein
Dokument sein, das *beide* Seiten verstehen. Sowas nennt man
Pflichtenheft. Die Zusammenhänge werden in möglichst einfachen
Worten beschrieben, damit sie der Programmierer versteht. Und
der Programmierer drückt sich in den Begrifflichkeiten der
Anwendungs-Domäne aus, damit ihn der Anwender versteht. Jedem
Pflichtenheft liegt daher i.d.R. ein Glossar bei, in dem die
Fachbegriffe der Anwendungs-Domäne aufgeführt und kurz erklärt
werden. Ziel dieser gesamten Aktion ist Klarheit.

Die Dokumentation entsteht aus den Anforderungen und wird
wählend der Planung nud Entwicklung weiter ausgebaut und
verfeinert. Idealerweise würde sie komplett vom Kunden kommen,
aber niemand kann aus dem Stegreif eine Software bis ins letzte
Detail durchdenken und erklären. Zumal der Kunde anfangs selbst
nicht genau weiß, was er will. (Böse Zungen behaupten, am Ende
weiß es der Kunde immer noch nicht.)

Also entsteht die Dokumentation durch einen Dialog, einem
ständigen Hin und Her. Die Software hat dann das umzusetzen,
was dort drin steht.

> Vielleicht sollte man die Dokumentation durch geziehlt ohne 
> Programmier-Hintergrund ausgewählte Beta-Tester vornehmen lassen?

In dem Moment sind schon alle Züge abgefahren. Sicher ist
eine nachträgliche Dokumentation besser als gar keine. Aber
ein riesengroßer Nachteil ist, dass die Dokumentation in
solch einem Fall nicht mehr die Anforderungen widerspiegelt,
sondern die Funktionsweise der Software. Das heißt, auch Bugs,
Denkfehler, etc. sind mit Dokumentiert, aber als Funktionsweise,
nicht als Fehler.

Normalerweise ist es ein guter Indikator für Fehler, wenn ein
Programm in seinem Verhalten von der Dokumentation abweicht.
Dann herscht nämlich entweder ein Denkfehler/Missverständnis
vor, das zu neuen Einsichten führt und evtl. zu einer besseren,
weniger widersprüchlichen Dokumentation. Oder es ist einfach
ein Bug im Programm.

Entsteht die Dokumentation hingegen im Nachhinein, findet diese
Form der Qualitäts-Sicherung nicht mehr statt. Leider ist das,
auch im Bereich der freien Software, der Status-Quo. Das heißt
aber nicht, dass es gut so ist. Größere OpenSource-Projekte
zeichnen sich vorallem durch bessere Dokumentation aus.


Viele Grüße,

    Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l