Scrum ist ein iteratives und inkrementelles Modell, das auf agilen Werten basiert . Das heißt, Sie haben keine separate Designphase. Die Idee ist, dass Sie ständig sollten mit Design beschäftigen sollten, genauso wie Sie sich ständig mit Analyse, Implementierung, Testen und Integration während des gesamten Projekts beschäftigen.
Sie müssen etwas planen, damit dies funktioniert. Nehmen Sie an der Sprint-Planungsbesprechung teil , in der das Team Aufgaben für den bevorstehenden Sprint abschätzt. Den meisten Menschen ist nicht klar, dass dies nicht nur ein Schätzungsgespräch ist, sondern auch ein Entwurfsaufwand. Eine Aufgabe könnte beispielsweise "Code für neues Automodell hinzufügen" sein. Sie können dies noch nicht abschätzen, Sie müssen ein bisschen mehr wissen. Das Team erörtert das Design und entwickelt eine umfassende Lösung ("Unterklasse Auto?"), Die der Aufgabe als Erinnerung hinzugefügt wird. Mehr Formalität braucht man selten. Sie haben jetzt eine Idee, wie Sie das Problem lösen können. Sie haben noch nicht alle Details und das ist in Ordnung, Sie wissen genug über das Design, um eine bequeme Schätzung vornehmen zu können. Ohne dass Sie (zu diesem Zeitpunkt) irgendwelche Diagramme erstellen müssen.
Für die tatsächliche physische Dokumentation empfehle ich , ein Systemübersichtsdiagramm an einer Wand zu erstellen damit alle es sehen können. Die Übersicht muss nur die wichtigsten Klassen und Module enthalten und sollte selten aktualisiert werden müssen. Auch das Erstellen einiger Zustandsdiagramme für die wichtigsten Klassen im System ist sehr hilfreich. Streuen Sie ein paar ausgewählte Sequenzdiagramme mit typischen Anwendungsfällen an, damit die Menschen schnell erkennen können, wie die Dinge miteinander verbunden sind. Ich gehe davon aus, dass Sie Klassenhierarchiediagramme aus Ihrem Code generieren können, sodass dieses Problem leicht gelöst werden kann.
Beachten Sie, dass alle Diagramme nach der tatsächlichen Implementierung erstellt werden. Dies steht im Einklang mit der "Arbeitssoftware über umfassende Dokumentation" und Just-in-Time-Design.
Und ja, lesbarer Code ist definitiv Dokumentation.