Scrum è un modello iterativo e incrementale basato su valori agili . Ciò significa che non hai una fase di progettazione separata. L'idea è che dovresti costantemente avere a che fare con il design, così come hai costantemente a che fare con analisi, implementazione, test e integrazione durante il progetto.
Hai bisogno di un po 'di pianificazione per far funzionare tutto questo. Immettere la riunione di pianificazione sprint , in cui il team stima le attività per lo sprint in anticipo. La maggior parte delle persone non si rende conto che questo non è solo un incontro di stima, ma anche uno sforzo progettuale. Ad esempio, un'attività potrebbe essere "Aggiungi codice per il nuovo modello di auto". Non puoi ancora stimarlo, devi sapere un po 'di più. Quindi il team discute il design e presenta una soluzione ampia ("sottoclasse Car?") E la aggiunge come promemoria del compito. Raramente hai bisogno di più formalità di così. Ora hai un'idea di come risolvere il problema. Non hai ancora tutti i dettagli e va bene, sai abbastanza del design per essere in grado di fare una stima constrongvole. Senza dover creare alcun diagramma (a questo punto).
Per documentazione fisica effettiva , I consiglia creare una panoramica dei sistemi si sviluppa su un muro perché tutti possano vederli. La panoramica deve solo includere le classi e i moduli più importanti e deve essere raramente aggiornata. Inoltre, creare alcuni diagrammi di stato per le classi più importanti del sistema è molto utile. Cospargere con alcuni diagrammi di sequenza selezionati di casi d'uso tipici per rendere facile per le persone vedere rapidamente come sono connesse le cose. Presumo che tu possa generare diagrammi di gerarchia di classi dal tuo codice, in modo che il problema sia facilmente risolto.
Si noti che tutti i diagrammi vengono creati dopo l'effettiva implementazione. Questo è in linea con il "software di lavoro su una documentazione completa" e la progettazione just-in-time.
E sì, il codice leggibile è sicuramente una documentazione.