Der agile Prozess: Wie und was soll dokumentiert werden?

10

Vor einiger Zeit hatte das Unternehmen, für das ich arbeite, ein Entwicklungsprojekt an einen Dritten ausgelagert. Sie verwendeten agile Praktiken bei der Entwicklung der Lösung. Wenn sie jedoch um Dokumentation gebeten wurden, sagten sie nur, dass dies erforderlich war, da es in ein Wiki oder als Teil ihrer Sprints aufgenommen wurde.

Sie gingen nach Abschluss des Projekts mit allen bis auf einen Teil des Projektteams. Die Projekt-Wiki-Site wurde nun geschlossen, sobald das Jahresabonnement fällig war.

Als sie gingen, nahmen sie das meiste Wissen und Verständnis darüber mit, was mit ihnen entwickelt wurde.

Ich habe also zwei Hauptfragen.

  1. Ist das normal für Agile oder nur eine Entschuldigung dafür, dass man es nicht schreiben will?
  2. Was ist die Industrienorm für die Dokumentation in agilen Projekten, um Entwicklungsanforderungen, Designs, Schlüsselentscheidungen und den Kontext aufzuzeichnen?
GrumpyMonkey
quelle
en.wikipedia.org/wiki/There%27s_a_sucker_born_every_minute Ernsthaft - haben Sie en.wikipedia.org/wiki/Bus_factor nicht vorausgesehen ? Nun, eine Lektion gelernt, die er auf die harte Tour gelernt hat. Hoffentlich gibt es für Sie kein nächstes Mal (aber Sie werden immer noch im Geschäft sein)
Mawg sagt, dass Monica am

Antworten:

4

Ist das normal für Agile oder nur eine Entschuldigung dafür, dass man es nicht schreiben will?

Meine Theorie ist, dass Agilität deshalb so schnell verbreitet wird, besonders Scrum . Ich habe zu viele Teams gesehen, die agil sein wollten, um sich selbst zu schützen (anstelle des gesamten Unternehmens). Das Problem ist, dass in vielen Fällen die Methodik vom Management gegen sie angewendet wird (weil sie sich auch schützen wollen!).

Bedeutet dies, dass Agilität überhaupt nicht funktioniert? Natürlich nicht, dies bedeutet nur, dass Agilität Ihnen hilft, einige häufig auftretende Probleme zu lösen, aber Sie sind immer noch für alle anderen verantwortlich. Und in vielen Fällen ist Agile für dieses Team in diesem Unternehmen einfach nicht geeignet.

Was ist die Industrienorm für die Dokumentation in agilen Projekten, um Entwicklungsanforderungen, Designs, Schlüsselentscheidungen und den Kontext aufzuzeichnen?

Um es kurz zu fassen:

Das Team sollte definieren, wie viel Dokumentation benötigt wird

Sie kennen die Domäne, sie sind die Experten und vor allem bauen sie das Ding!

Das ist es, was Arbeitssoftware über umfassende Dokumentation im Agilen Manifest bedeutet.


quelle
2

Haben sie Ihnen eine Reihe von TDD-Tests, Abnahmetests oder anderen Komponententests hinterlassen? Sie dokumentieren gut, wie eine Anwendung funktioniert und voraussichtlich funktionieren wird, und bieten eine Beispielimplementierung für die Verwendung der entwickelten Anwendungen.

CaffGeek
quelle
+1 Ja, das ist die agile Art zu dokumentieren. Wenn Ihre Tests vollständig genug sind und ausgeführt werden, können Sie sicher sein, dass das System ordnungsgemäß dokumentiert ist (anstatt die Dokumentation getrennt zu halten und nicht mehr mit dem tatsächlichen Code synchron zu sein). Oh, und Sie brauchen wahrscheinlich eine Art umfassendes Dokument aus der Vogelperspektive für das Gesamtbild.
Martin Wickman
2
Leider war die Anzahl und Qualität der Tests, die sie zurückließen, schlecht, sie wurden schnell weggeworfen, da sie keinen praktischen Nutzen hatten.
GrumpyMonkey
2

Ich bin zwar keineswegs ein agiler Experte, aber hier ist mein Versuch, eine Antwort zu finden:

  1. Gab es eine Geschichte / Anforderung, die nach spezifischer Dokumentation fragte? Wenn nicht, ist dies Teil des Problems, da Sie in gewissem Umfang das erhalten, was angefordert wird. Es ist eine Ausrede und ich könnte mich fragen, was Sie hier mit "normal" meinen. Ist es nur eine Mehrheit derjenigen, die agilen Prinzipien folgen, die etwas normal machen, oder ist es Teil des Gesamtprozesses, der erwartet werden sollte? Das sind die beiden Ansichten, die ich dafür sehen konnte. EDIT: Ich bezweifle, dass es etwas gibt, was die Mehrheit der Teams in Bezug auf die Dokumentation gleich macht, aber das ist eine Vermutung von meiner Seite.

  2. Ein paar Links, die von Interesse sein könnten, sind ungefähr das Beste, was ich dazu tun kann:

Agile hat einige spezifische Punkte im Manifest , auf die ich zusammen mit dem Hinweis hinweisen möchte:

Arbeitssoftware über umfassende Dokumentation

Das heißt, während die Elemente auf der rechten Seite einen Wert haben, schätzen wir die Elemente auf der linken Seite mehr.

JB King
quelle
@JB verwendete den Begriff normal, um herauszufinden, was die Mehrheit der Teams tut.
GrumpyMonkey
1

Sie sind einfach schrecklich. Ich glaube nicht, dass Agilität überhaupt keine Dokumentation bedeutet. Sie sollten zumindest die Anwendungsbeschreibung im Auge behalten haben. Ein Export ihres Wikis wäre nett gewesen oder hätte jemand anderem erlaubt, die Servicegebühr zu übernehmen.

Es ist möglicherweise nicht so detailliert wie ein Versuch. Die Theorie ist, dass in einer Zeitkrise die Spezifikationen ohnehin nicht mehr mit dem Code übereinstimmen. Sie haben also genügend Dokumentation, um den Code zu schreiben und nicht zu versuchen, ihn im Detail zu definieren (so ähnlich wie das Schreiben des Codes in einem pseudo-verbalisierten Text / Diagramm-Code und dann im eigentlichen Code.).

JeffO
quelle
1

Ihr Problem hat nichts mit Agile zu tun. Sie sollten die Dokumentation erstellt haben, nach der Sie gefragt haben. Das Projekt wurde schlecht verwaltet.

Henry
quelle
0

Es sollte mindestens irgendwo eine Beschreibung der Funktionen, User Stories und Testfälle geben . Die IT befindet sich möglicherweise in ReadMe-Dateien in den Projekten, möglicherweise in den Quellcode-Kommentaren und in den Entwurfsdokumenten. es könnte alles oben sein ... oder es könnte MIA sein!

Steven A. Lowe
quelle
0

Nach meiner Erfahrung gibt es immer viele Leute, die Dokumentation verlangen (ich war einer von ihnen), aber in der Praxis hat niemand wirklich Zeit oder Lust, sie zu erstellen. Gelegentlich gibt es Anstrengungen, aber die erstellte Dokumentation ist in der Regel sehr schnell veraltet und nicht mehr mit der tatsächlichen Funktionsweise des Systems synchronisiert. Dies führt zu einer Situation, in der selbst wenn Sie eine Dokumentation haben, niemand wirklich die Mühe macht, diese zu überprüfen, weil er einfach nicht auf die Richtigkeit vertraut.

Für echte Genauigkeit und zuverlässige Informationen kommt es darauf an, Code und Tests lesen zu können. Ein Kunde, der (erneut) herausfinden möchte, was sein System tut, kann jederzeit einen Programmierer interviewen und abfragen, der dann (mit einigen Nachforschungen) Fakten über das System präsentieren kann.

Das Erstellen einer guten Dokumentation ist nicht trivial und kann sehr kostspielig sein. Zweitens könnte man sich über das Publikum fragen, für wen die Dokumentation ist und was sie bereitstellen soll.

Joppe
quelle
Klingt so, als würden Sie sich nachträglich auf die Dokumentation beziehen (bitte verzeihen Sie mir, wenn ich falsch liege). Was ist vorher mit der Dokumentation passiert? O tempora, o mores :-(
Mawg sagt, Monica am